leetcode 198打家劫舍
程序员文章站
2022-03-28 13:57:40
...
动态规划
取当前最大值max与(前两个房屋抢到的最大值+当前房屋的价值)之间的最大值为新的最大值。
class Solution {
public int rob(int[] nums) {
if(nums==null || nums.length==0){
return 0;
}
int last2Max=0;
int max=0;
for(int i=0;i<nums.length;i++){
//当前max与(当前nums[i]+上两个房屋的最大值)之间取最大值。
int temp=max;
max=Math.max(last2Max+nums[i],max);
last2Max=temp;
}
return max;
}
}
推荐阅读