class Solution {
public:
int rob(vector<int>& nums) {
int dp[110]={0};
if(nums.size()==1)return nums[0];
if(nums.size()==2)return max(nums[0],nums[1]);
dp[0]=nums[0];//dp[]
//dp[0]=1;dp[1]=2;dp[2]=max(dp[1],dp[0]+nums[2])=4;dp[3]=max(dp[2],dp[1]+nums[3])=4;
dp[1]=max(nums[0],nums[1]);
for(int i=2;i<nums.size();i++){
dp[i]=max(dp[i-1],dp[i-2]+nums[i]);
}
return dp[nums.size()-1];
}
};
198. 打家劫舍
最新推荐文章于 2024-08-08 15:12:59 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)