class Solution {
public int rob(int[] nums) {
if(nums.length == 1)
return nums[0];
if(nums.length == 2)
return Math.max(nums[0],nums[1]);
int[] money = new int[nums.length];
money[0] = nums[0];
money[1] = nums[1];
money[2] = nums[0] + nums[2];
for(int i = 3;i < nums.length;i++){
money[i] = Math.max(money[i-3],money[i-2]) + nums[i];
}
return Math.max(money[nums.length-2],money[nums.length-1]);
}
}
leetcode198. 打家劫舍
最新推荐文章于 2024-10-18 10:39:20 发布