题目链接:leetcode213


思路:在之前的基础上加上环的约束,可以特判第一个选与不选,最后把两个方向的最终状态取个最大返回。

class Solution {public:int rob(vector<int>& nums) {int n=nums.size();if(n==0) return 0;if(n==1) return nums[0];int dp1[n+1]={0}, dp2[n+1]={0}; //偷第一个和不偷第一个dp1[1] = nums[0];for(int i=2; i<n; ++i) dp1[i]=max(dp1[i-2]+nums[i-1], dp1[i-1]);dp2[1] = 0;for(int i=2; i<=n; ++i) dp2[i]=max(dp2[i-2]+nums[i-1], dp2[i-1]);return max(dp1[n-1], dp2[n]);}
};

LeetCode231打家劫社Ⅱ(动态规划)相关推荐

  1. LeetCode198打家劫社(线性动态规划)

    题目链接:Leetcode198 Code: class Solution {public:int rob(vector<int>& nums) {//dp[i]表示偷盗到第i家获 ...

  2. LeetCode337打家劫社Ⅲ(树形动态规划)

    题目链接:leetdcode337 思路:先序列化,再树形DP,上一个节点如果选取则下一层节点不会取,否则从下层选和不选选一个最大的传递上来. /*** Definition for a binary ...

  3. 42 - 算法 - 198-打家劫舍-动态规划

    // 动态规划 // 当前状态 前两个状态 dp[i] = max(dp[i-2]+num[i] , dp[i-1]) ;using namespace std; class Solution {pu ...

  4. leetcode打家劫社简单实现--python

    给定一个数组代表每家的金钱: [1, 2, 0, 4, 6] 不可以抢劫相邻两家的金钱, 可以抢劫相隔的两家, 求最大值 1+0+6 = 7 2+4 = 6 max = 7 思路: 动态规划, 遍历数 ...

  5. Leetcode_6_Dynamic Programming_198,213打家劫室,打家劫室II

    自己写滴~ 198.打家劫室 class Solution {public int rob(int[] nums) {if(nums.length==0) return 0; int[] dp=new ...

  6. 【LeetCode】Day51-打家劫舍 III变形

    题目1 198. 打家劫舍[中等] 题解 第一道自己动手做出来的动态规划,快哭了 class Solution {public int rob(int[] nums) {int n=nums.leng ...

  7. C++每日一练:打家劫室(详解动态规划法)

    文章目录 前言 一.题目 二.分析 三.代码 总结 前言 这题目出得很有意思哈,打劫也是很有技术含量滴!不会点算法打劫这么粗暴的工作都干不好. 提示:以下是本篇文章正文内容,下面案例可供参考 一.题目 ...

  8. LeetCode---打家劫舍系列

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

  9. leetcode191-打家劫舍

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

最新文章

  1. 一个程序员的小笑话.(纯属虚构)
  2. OpenCV中使用类VideoCapture加载视频和打开摄像头
  3. cpu,内核和逻辑处理器的关系
  4. 转:PHP非阻塞模式
  5. python根据矩阵数值大小涂上不同深浅颜色
  6. Node.js Path 模块
  7. 一个企业用电有多浪费?90后开发者大显身手,让每度电从此更“聪明”!
  8. 计算机网络按信息传输介质的性能来划分,第3章 计算机网络基础和 Internet 应用...
  9. java触发器如何创建表_Java中 创建Oracle触发器的问题。
  10. QT视频采集之编码Enc和录像Rec
  11. NJM4556AM集成电路是高增益、大输出电流双路运算放大器
  12. RealityCapture摄影测量软件
  13. 《信息系统安全》课后习题答案(陈萍)
  14. 第7章 CustomView绘图进阶
  15. python皮卡丘绘制_Python画皮卡丘
  16. Lua初学者(一)--Lua 简单教学
  17. 超强的学习能力是怎样练就的~
  18. 计算机英语i有关科技翻译的范文,有关健康的英语作文带翻译范文
  19. 矩阵乘法的并行化算法讨论
  20. 【Ubuntu 22.04 LTS】Finalshell——SSH连接工具

热门文章

  1. PHPWord利用模板替换字符串生成精确的word文档
  2. Vue3关于页面跳转(push)的时候,并传递数据过去
  3. C++ 11字符数组/字符串/数字转换/字符串拼接
  4. 笔记本外接显示器,过一段会自动休眠
  5. 任务卡_05-数据库_-MySql 高级任务
  6. ICCV2021 | TransFER:使用Transformer学习关系感知的面部表情表征
  7. Android 版灵动岛插件上线;iPhone 15或将改名,并改用USB-C接口;​Swift 5.7 发布|极客头条
  8. 一键使 WIN 10进入休眠、睡眠、关机的命令
  9. ElGamal公钥密码算法(Python实现)
  10. C++中出现[Error] ‘rand‘ was not declared in this scop报错