一:题目

二:上码

class Solution {public:/**思路:1.既然成环了,我们如果选取得一条偷取路径是从头开始得那么我们就不能偷取最后一个,那就不算最后一个偷取一遍2.同理我们也可以不算第一个 偷取一遍计算一次偷取得结果*/int rob(vector<int>& nums) {if(nums.size() == 0) return 0;if(nums.size() == 1) return nums[0];int ans1 = steal(nums,0,nums.size()-2);//不算最后一个 这里传递是下标int ans2 = steal(nums,1,nums.size()-1);//不算第一个return ans1 > ans2 ? ans1 : ans2;}int steal(vector<int> & nums,int start,int end) {if (end == start) return nums[start];vector<int> dp(nums.size(),0);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-1],dp[i-2]+nums[i]);}return dp[end];}
};

leetcode213. 打家劫舍 II相关推荐

  1. leetcode213 打家劫舍II

    你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在 ...

  2. 2022-3-2 Leetcode213. 打家劫舍 II

    我的想法是 分成两种情况,第一种情况不要第一个,第二种情况不要第二个. 但是我犹豫了,我犹豫的原因是,如果不要第一个,只用剩下的可能也用不到最后一个. 但是我这个犹豫是毫无依据的.排开第一个之外,剩下 ...

  3. LeetCode-动态规划-213. 打家劫舍 II

    213. 打家劫舍 II 思路:考虑三种情况注释代码中 class Solution {public:int rob(vector<int>& nums) {if(nums.emp ...

  4. LeetCode—213. 打家劫舍 II

    213. 打家劫舍 II 题目描述:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相 ...

  5. 213. 打家劫舍 II golang 动态规划

    题目 213. 打家劫舍 II 198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相 ...

  6. leetcode - 213. 打家劫舍 II

    解题思路:这道题是"打家劫舍I"的升级版,和"打家劫舍I"的区别在于"打家劫舍II"的第一个房子和最后一个房子是相连的,这就导致不能用&qu ...

  7. 动态规划——斐波那契数列(70. 爬楼梯、198. 打家劫舍、213. 打家劫舍II、信件错排、母牛生产)

    递归和动态规划都是将原问题拆分成多个子问题然后求解,但是动态规划存储了子问题的解,不需要重复计算. 动态规划(Dynamic Programming,DP)需要转移方程和边界条件. 目录 一.70. ...

  8. 代码随想录Day48|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

    文章目录 198.打0家劫舍 213.打家劫舍II 337.打家劫舍III 198.打0家劫舍 文章讲解:代码随想录 (programmercarl.com) 题目链接:198. 打家劫舍 - 力扣( ...

  9. day40|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

    198.打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 ...

最新文章

  1. Github 工作流程
  2. UVA11137(立方数之和)
  3. leetcode 729, 731, 732. My Calendar I, II, III | 729. 我的日程安排表 I, II, III(线段树)
  4. Linux学习笔记之Linux添加/删除用户和用户组
  5. 依存句法分析的任务以及形式化定义
  6. 联想拯救者y7000加内存条_短测联想拯救者Y7000,到底值不值得买?
  7. 如何使用be动词来确认请求_12
  8. 第12天--css三种定位及z-index
  9. MySQL史上最快逻辑备份工具
  10. 初始化和清理(垃圾回收器)
  11. 【SpringCloud实战】一次开发中使用Feign添加动态Header问题思考
  12. Hacking Diablo II之D2HACKIT技术详解
  13. 一款ModbusRTU/TCP485串口协议调试软件工具绿色版免安装
  14. 2019年规划与目标
  15. android源码分卷压缩和解压
  16. Datawhale数据分析思考与问题解决
  17. hdu2458 2010.3.6
  18. 在Word中上下两张表格合并不了的解决办法
  19. 手牵手带你安装zookeeper
  20. 项目经理人才培养专题︱优秀项目经理能力建设(一)

热门文章

  1. android防止左向右滑出程序,Android——ViewPager禁止左右滑动的实现
  2. Android 清除png图片的白色背景
  3. 【ArcGIS微课1000例】0018:ArcGIS设置相对路径和数据源
  4. Markdown编辑器模板
  5. Java之多线程里面的锁理解以及synchronized与Lock的区别
  6. open ssl里面的自定义get***函数失效
  7. C的|、||、、、异或、~
  8. Android之Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE问题解决
  9. mysql之主从复制 简书_MySQL主从复制(传统)
  10. 男人的快乐可以多简单?