文化馆网站建设的意义,3天引流800个人技巧,电商平台有哪些类型,深圳尚石设计有限公司力扣198
你是一个专业的小偷#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入#xff0c;系统会自动报警。
给定一个代表每个房屋存…力扣198
你是一个专业的小偷计划偷窃沿街的房屋。每间房内都藏有一定的现金影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统如果两间相邻的房屋在同一晚上被小偷闯入系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组计算你 不触动警报装置的情况下 一夜之内能够偷窃到的最高金额。
示例 1
输入[1,2,3,1]
输出4
解释偷窃 1 号房屋 (金额 1) 然后偷窃 3 号房屋 (金额 3)。偷窃到的最高金额 1 3 4 。
示例 2
输入[2,7,9,3,1]
输出12
解释偷窃 1 号房屋 (金额 2), 偷窃 3 号房屋 (金额 9)接着偷窃 5 号房屋 (金额 1)。偷窃到的最高金额 2 9 1 12 。提示
1 nums.length 1000 nums[i] 400
思路
无脑dp
不能偷相邻的那就每次和前前个加起来比。
代码
class Solution {
public:int rob(vectorint nums) {int dp[105];memset(dp,0,sizeof(dp));if(nums.size()1)return nums[0];if(nums.size()2)return max(nums[0],nums[1]);dp[0]nums[0];dp[1]max(nums[0],nums[1]);for(int i2;inums.size();i){dp[i]max(dp[i-2]nums[i],dp[i-1]);}return dp[nums.size()-1];}
};