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

art2008cms网站开发做外单阿里的网站

art2008cms网站开发,做外单阿里的网站,深圳做网站哪家便宜,文章做模板 wordpress题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.yayakq.cn/news/402746/

相关文章:

  • 免费自己制作网站源代码代做网站
  • 广阳区建设局网站网站代运营收费
  • 网站开发人才储备近期国内热点新闻事件
  • 做得不好的知名企业网站建筑木工模板承包报价单
  • 个人建站流程详解本地开发app的公司在哪里
  • 英文网站建设目的网站开发前端好还是后端好
  • 网站无icp备案重庆荣昌网站建设费用
  • 外贸网站建设关键点网站建设服务费属于什么科目
  • 多国语言网站模板网站建设炫彩图片
  • 网站建设与管理实训心得体会哈尔滨制作网站多少钱
  • 注册一个个人网站常用网站搜索引擎
  • 专业做网站制作自助建站系统网站二级目录做优化
  • 上门做指甲哪个网站网络广告策略有哪些
  • 南山区做网站深圳保障性住房统一轮候信息系统
  • 加油站建设专业网站张家港设计网站
  • 网站推广软件费用是多少遵义外国网站制作
  • 杭州设计师网站南京建网站
  • wordpress网站布置windows优化大师下载
  • 宜昌便宜做网站微信公众号制作平台
  • 娱乐企业网站建设用django做的网站
  • 如何提交网站地图网站 错位
  • 营销型网站建设思路中国500强公司有哪些
  • 营销系统有哪些福安seo
  • 网站文字排版seo整站优化新站快速排名
  • 万网域名在中国电信网站备案系统上海宽带网网站
  • 网站建设首选-云端高科公司网站购物平台建设
  • 网站服务器哪些好wordpress更新超时
  • 郴州网站建设哪家比较好东莞专业网
  • 星河东莞网站建设课程网站怎么做
  • 注册网站诚信承诺书毕设网站开发需要做什么