个人网站设计html,wordpress前台出现旧版文件,用python做的网站多吗,好的学校网站设计2023-09-17每日一题
一、题目编号
213. 打家劫舍 II二、题目链接
点击跳转到题目位置
三、题目描述
你是一个专业的小偷#xff0c;计划偷窃沿街的房屋#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 #xff0c;这意味着第一个房屋和最后一个房…2023-09-17每日一题
一、题目编号
213. 打家劫舍 II二、题目链接
点击跳转到题目位置
三、题目描述
你是一个专业的小偷计划偷窃沿街的房屋每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 这意味着第一个房屋和最后一个房屋是紧挨着的。同时相邻的房屋装有相互连通的防盗系统如果两间相邻的房屋在同一晚上被小偷闯入系统会自动报警 。
给定一个代表每个房屋存放金额的非负整数数组计算你 在不触动警报装置的情况下 今晚能够偷窃到的最高金额。
示例 1
示例 2
示例 3 提示
1 nums.length 1000 nums[i] 1000
四、解题代码
class Solution {
public:int rob(vectorint nums) {int n nums.size();int dp1[n1];int dp2[n1];if(n 1){return nums[0];}if(n 2){return max(nums[0], nums[1]);}memset(dp1, 0, sizeof(dp1));memset(dp2, 0, sizeof(dp2));dp1[0] nums[0];dp1[1] max(nums[0], nums[1]);dp2[1] nums[1];for(int i 2; i n-1; i){dp1[i] max(dp1[i-1], dp1[i-2]nums[i]);dp2[i] max(dp2[i-1], dp2[i-2]nums[i]);}dp2[n-1] max(dp2[n-3]nums[n-1], dp2[n-1]);return max(dp1[n-2], dp2[n-1]);}
};五、解题思路
(1) 与原来的打家劫舍唯一一点提升的就是就是第一个房子偷或者不偷分两种情况来进行讨论即可。