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

云浮新兴县做网站今日热榜官网

云浮新兴县做网站,今日热榜官网,福州朝阳房产网站建设,中国最著名网站建设公司题1: 指路:198. 打家劫舍 - 力扣(LeetCode) 思路与代码: 对于这个题,拿房屋i举例,我们需要考虑的是否确定偷取这个房屋,如果确定偷取这个房屋,那么我们将得到房屋i的金…

题1:

指路:198. 打家劫舍 - 力扣(LeetCode)
思路与代码:

对于这个题,拿房屋i举例,我们需要考虑的是否确定偷取这个房屋,如果确定偷取这个房屋,那么我们将得到房屋i的金币也就是nums[i],但是因为不能偷取相邻的房屋,那么得到nums[i]和前i-2个房屋最大金币数的同时失去的是nums[i-1],否则不偷取这个房屋,那么考虑偷取的就是第i-1个房屋。这里我们就需要判断这两种情况那种得到的金币最多。特殊情况,当房屋门下标是0时,此时一定会偷取这仅有的一间,那么此时金币数为nums[0],当房屋下标为1时,我们需要判断第0间房屋和第1间房屋的较大值,得到较大的金币数。首先,定义一个数组dp[i],其含义为考虑下标为i在内(包括i)的房屋之前能够偷得的最大的金币数;其次我们尝试得出递推公式,前面分析题意阶段已经有提到过dp[i]应该取确定偷取第i间房屋和确定不偷取第i间房屋的较大值,也就是dp[i]=max(nums[i] + dp[i - 2], dp[i - 1]);然后对dp数组进行初始化,我们在前面也提到过,即dp[0]=nums[0],dp[1]=max(nums[0], nums[1]);接着我们确定遍历顺序,这个题的遍历顺序显而易见,从小到大即可,也就是从下标为2到nums.size();最后打印dp数组即可。代码如下:

class Solution {
public:int rob(vector<int>& nums) {if (nums.size() == 0) return 0;if (nums.size() == 1) return nums[0];vector<int> dp(nums.size());dp[0] = nums[0];dp[1] = max(nums[0], nums[1]);for (int i = 2; i < nums.size(); i++) {dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);}return dp[nums.size() - 1];}
};

题2:

指路:213. 打家劫舍 II - 力扣(LeetCode)
思路与代码:

对于这个打家劫舍,不同于上一个的是它的环形形态,抽象来说,也就是首尾房屋不能同时偷取,这样我们尝试分类讨论,考虑偷取首房屋考虑偷取尾房屋。那么,中间不带首尾房屋的情况就是我们上一题的打家劫舍。在public中讨论考虑两种偷取方式的结果取较大值即可。代码如下:

class Solution {
public:int rob(vector<int>& nums) {if (nums.size() == 0) return 0;if (nums.size() == 1) return nums[0];int result1 = robRange(nums, 0, nums.size() - 2);  //考虑左边界int result2 = robRange(nums, 1, nums.size() - 1);  // 考虑右边界return max(result1, result2);}int robRange(vector<int>& nums, int start, int end) {if (end == start) return nums[start];vector<int> dp(nums.size());dp[start] = nums[start];dp[start + 1] = max(nums[start], nums[start + 1]);for (int i = start + 2; i <= end; i++) {dp[i] = max(dp[i - 2] + nums[i], dp[i - 1]);}return dp[end];}
};

http://www.dt0577.cn/news/48801.html

相关文章:

  • 网站收录怎么做厦门人才网唯一官网登录
  • 福建响应式网站制作网站seo优化免费
  • 一家专门做原型的网站2023年新闻摘抄十条
  • 中国建设招聘信息网站百度海南分公司
  • 百度竞价排名危机事件深圳网站建设优化
  • 网站建设费属于业务宣传费吗广告营销是做什么的
  • 餐饮网站建设案例怎么在百度做免费推广
  • 企业网站建设物美价廉seo网站管理招聘
  • 网站 建设公司适合seo优化的网站
  • 网络运维工程师需要考什么证书苏州百度搜索排名优化
  • 阿里国际站网站建设电商网站建设开发
  • 网站建设需要考啥证seo标题优化
  • 中航建设集团网站制作网页的教程
  • 湛江网站建设公司艾瑞指数
  • 做网站中的剪辑图片网络营销专业技能
  • 专业移动微网站建设营业推广的概念
  • 罗村石湾网站制作微博营销成功案例8个
  • 网站建设大庆夜夜草
  • 北京做网站定制价格fifa最新世界排名
  • 设计工作室图片西安seo外包行者seo
  • 做汽车商城网站百度关键词优化公司
  • 如何开发网站建设业务google adwords
  • 如何在交易网站做电子印章seo是什么的简称
  • 华为展厅设计方案武汉网站建设优化
  • 专业企业网站建设百度号码认证申诉平台
  • 一个好网站设计个人网站免费域名注册
  • 系统的超级宗门windows优化大师卸载不了
  • 关于加强网站建设的情况说明河南seo关键词排名优化
  • 做网站排名优化有用吗爱站网备案查询
  • 常州建设银行新北分行网站外贸推广代理