当前位置: 首页 > news >正文

微网站怎么做的好名字英铭科技做网站和设计制作更专业

微网站怎么做的好名字,英铭科技做网站和设计制作更专业,公司互联网推广,中国建筑集团有限公司待遇Every day a Leetcode 题目来源#xff1a;2086. 从房屋收集雨水需要的最少水桶数 解法1#xff1a;贪心 我们可以对字符串 hamsters 从左到右进行一次遍历。 每当我们遍历到一个房屋时#xff0c;我们可以有如下的选择#xff1a; 如果房屋的两侧已经有水桶#xff…Every day a Leetcode 题目来源2086. 从房屋收集雨水需要的最少水桶数 解法1贪心 我们可以对字符串 hamsters 从左到右进行一次遍历。 每当我们遍历到一个房屋时我们可以有如下的选择 如果房屋的两侧已经有水桶那么我们无需再放置水桶了 如果房屋的两侧没有水桶那么我们优先在房屋的「右侧」放置水桶这是因为我们是从左到右进行遍历的即当我们遍历到第 i 个位置时前 i−1 个位置的房屋周围都是有水桶的。因此我们在左侧放置水桶没有任何意义而在右侧放置水桶可以让之后的房屋使用该水桶。 如果房屋的右侧无法放置水桶例如是另一栋房屋或者边界那么我们只能在左侧放置水桶。如果左侧也不能放置说明无解。 我们可以通过修改字符串来表示水桶的放置从而实现上述算法。一种无需修改字符串的方法是每当我们在房屋的右侧放置水桶时可以直接「跳过」后续的两个位置因为如果字符串形如 H.H我们在第一栋房屋的右侧即两栋房屋的中间放置水桶后就无需考虑第二栋房屋如果字符串形如 H…后续没有房屋我们也可以全部跳过。 代码 /** lc appleetcode.cn id2086 langcpp** [2086] 从房屋收集雨水需要的最少水桶数*/// lc codestart class Solution { public:int minimumBuckets(string hamsters){int n hamsters.size();int bucket 0;for (int i 0; i n; i){if (hamsters[i] H){if (i 1 n hamsters[i 1] .){bucket;i 2;}else if (i - 1 0 hamsters[i - 1] .)bucket;elsereturn -1;}}return bucket;} }; // lc codeend结果 复杂度分析 时间复杂度O(n)其中 n 是字符串 hamsters 的长度。 空间复杂度O(1)。 解法2动态规划 设遍历至前 i 个字符满足条件的最小水桶数为 dp[i]。 若 street[i - 1] 为 ‘.’ 不放置水桶。此时有若前面一个为房屋street[i - 2] ‘H’可放置水桶。此时有 else if street[i - 1] 为 ‘H’ 前方必须放置水桶则必须满足 street[i - 2] ‘.’。此时有上一个条件满足情况下如果水桶前方是房子street[i - 3] ‘H’则这个水桶也可以接到前面房子的水。此时有 所有的状态转移取最小值即可。 代码 /** lc appleetcode.cn id2086 langcpp** [2086] 从房屋收集雨水需要的最少水桶数*/// lc codestart// 贪心// class Solution // { // public: // int minimumBuckets(string hamsters) // { // int n hamsters.size(); // int bucket 0; // for (int i 0; i n; i) // { // if (hamsters[i] H) // { // if (i 1 n hamsters[i 1] .) // { // bucket; // i 2; // } // else if (i - 1 0 hamsters[i - 1] .) // bucket; // else // return -1; // } // } // return bucket; // } // };class Solution { private: #define INF 0x3F3F3F3F #define MAX_LEN 1e5 10public:int minimumBuckets(string street){int n street.size();vectorint dp(MAX_LEN, INF);// 初始化dp[0] 0;// 状态转移for (int i 1; i n; i){if (street[i - 1] .){dp[i] dp[i - 1];if (i - 2 0 street[i - 2] H)dp[i] min(dp[i], dp[i - 2] 1);}else if (street[i - 1] H){if (i - 2 0 street[i - 2] .){dp[i] dp[i - 2] 1;if (i - 3 0 street[i - 3] H){dp[i] min(dp[i], dp[i - 3] 1);}}}}return dp[n] INF ? -1 : dp[n];} }; // lc codeend结果 复杂度分析 时间复杂度O(n)其中 n 是字符串 street 的长度。 空间复杂度O(MAX_LEN)。状态数组开销MAX_LEN 1e5 10。
http://www.hkea.cn/news/14578301/

相关文章:

  • 天津建设注册执业中心网站群晖nas做网站域名
  • 网站优化可以自己做么网页设计简图
  • 泰安网站销售公司wordpress微信查看密码破解
  • 自己做单词卡的网站是什么滨海新区建设网站
  • 网站内页没有排名网站建设 网址导航
  • 企业建站团队华企网站建设推广优化
  • 简易做网站自己有域名服务器怎样建设网站
  • 济宁哪里做网站最便宜网站首页设计费用
  • 网站 视觉冲击网站备案查询工信网
  • 张掖市建设局网站广告设计专业大学
  • 乐山 做网站网站建设实训步骤
  • 泰安手机网站建设公司广州企业公司大全
  • 怎么在自己电脑上建设网站成都市建设厅网站查询
  • 公司建设门户网站的总结古典棕色学校网站模板
  • 长沙网站开发智能建设银行网站不能打开
  • 青岛正规网站建设哪家好商丘网约车公司
  • 360网站做二维码班级网站建设首页报告
  • 浏览器打开网站404免费网站怎么做排名
  • 怎样建立自己网站无法升级wordpress
  • 天河区门户网站教育局wordpress 内容注入
  • 临沂网站制作平台广西建设网站在线服务
  • 公司网站一般找哪个公司做小米网站建设项目书
  • 上海简约网站建设公司百度地图收录提交入口
  • 小孩子做手工做游戏的网站wordpress中页面伪静态页面
  • 在柬埔寨做网站开发php做的网站
  • 正规网站做菠菜广告263企业邮箱入口登录方法
  • 沂南建设局网站xamp wordpress
  • 深圳龙岗网站建设代理推广
  • google网站优化器wordpress左右翻页
  • 别人做的网站不能用宜昌恒大帝景二手房