LeetCode 213. 打家劫舍 II
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
示例 1:
输入: [2,3,2] 输出: 3 解释: 你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2), 因为他们是相邻的。
示例 2:
输入: [1,2,3,1] 输出: 4 解释: 你可以先偷窃 1 号房屋(金额 = 1),然后偷窃 3 号房屋(金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。
1 class Solution { 2 public: 3 int rob(vector<int>& nums) { 4 if(nums.size()==0) 5 return 0; 6 if(nums.size()==1) 7 return nums[0]; 8 int n=nums.size(); 9 vector<int> dp1(n,0),dp2(n,0); 10 dp1[0]=0; dp1[1]=nums[0];//选第一个 11 dp2[0]=0; dp2[1]=nums[1];//不选第一个 12 for(int i=1;i<n-1;i++){ 13 dp1[i+1]=max(dp1[i],dp1[i-1]+nums[i]); 14 dp2[i+1]=max(dp2[i],dp2[i-1]+nums[i+1]); 15 } 16 return max(dp1[n-1],dp2[n-1]); 17 } 18 };
转载于:https://www.cnblogs.com/Jawen/p/10821489.html
LeetCode 213. 打家劫舍 II相关推荐
- LeetCode—213. 打家劫舍 II
213. 打家劫舍 II 题目描述:你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相 ...
- leetcode - 213. 打家劫舍 II
解题思路:这道题是"打家劫舍I"的升级版,和"打家劫舍I"的区别在于"打家劫舍II"的第一个房子和最后一个房子是相连的,这就导致不能用&qu ...
- [C++] LeetCode 213. 打家劫舍 II
题目 注意事项: 这是 打家劫舍 的延伸. 在上次盗窃完一条街道之后,窃贼又转到了一个新的地方,这样他就不会引起太多注意.这一次,这个地方的所有房屋都围成一圈.这意味着第一个房子是最后一个是紧挨着的. ...
- 103. Leetcode 213. 打家劫舍 II (动态规划-打家劫舍)
步骤一.确定状态: 确定dp数组及下标含义 dp数组和房屋数一样大小, dp[i]表示到第i个房屋的时候, 能够偷窃到的最 高金额 步骤二.推断状态方程: 对于当前的dp[i], 有两个方向,取决于能 ...
- Leetcode 213. 打家劫舍 II (每日一题 20211009)
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房 ...
- leetcode 213. 打家劫舍 II(dp)
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房 ...
- LeetCode 213. 打家劫舍 II(动态规划)
题目描述 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相邻的房屋装有相互连通的防盗系统,如果两间相 ...
- 213. 打家劫舍 II golang 动态规划
题目 213. 打家劫舍 II 198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金.这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的.同时,相 ...
- 代码随想录Day48|198.打家劫舍、213.打家劫舍II、337.打家劫舍III
文章目录 198.打0家劫舍 213.打家劫舍II 337.打家劫舍III 198.打0家劫舍 文章讲解:代码随想录 (programmercarl.com) 题目链接:198. 打家劫舍 - 力扣( ...
最新文章
- SDN控制器的资源收集过程—Vecloud
- 剑指offer之 调整奇数偶数数组位置
- 直男对于产品经理的思考
- 笔记: 环境 - Postgre从安装到使用
- iphone打字怎么换行_除了打字,iPhone的键盘还有这12个功能
- ASP.NET Core on K8s学习之旅(14)Ingress灰度发布
- deflater java_java.util.zip 类 Deflater - Java 中文参考手册
- c++ public 函数名相同_C++虚函数、重载、覆盖
- 安装django库 指定2.0版本
- Barebox for Tiny6410(LCD驱动移植)
- Kubernetes群集的零停机服务器更新
- UIButton设置UIControlContentHorizontalAlignment调整文字对齐方式
- window.requestAnimationFrame讲解
- Protothreads:一个“蝇量级” C 语言协程库
- Chap1_基础理论+Chap2_数据准备和数据模型
- openwrt 使用ebtables限制设备访问外网或内网
- 用endnote9往word中插入参考文献
- 一段简单的C/C++病毒源程序
- 微服务商城系统(十三)订单、支付流程分析
- 数商云助您“乘风破浪”,倾力打造PCB行业采购管理平台解决方案