class Solution {
public:
int rob(vector<int>& nums) {
//dp[j] 从0-j的住户中,最多偷dp[j]
if(nums.size() == 1)
return nums[0];
int size = nums.size(); //住户数量
vector<int> dp(size + 1, 0);
dp[0] = nums[0];
dp[1] = max(nums[0], nums[1]);
for(int j = 2; j < size; j++){
dp[j] = max(dp[j - 1], dp[j - 2] + nums[j]);
}
return dp[size - 1];
}
};
LeetCode198.打家劫舍
最新推荐文章于 2024-09-14 22:25:23 发布