Java
相邻的房间不可以抢,求最大的收益
每次保留上一次的非相邻房间的最大收益,与此次包含相邻房间的收益相加,和当前收益相比较,考虑是否放弃此房间
class Solution {
public int rob(int[] nums) {
int len=nums.length;
if(len==0)
return 0;
if(len==1)
return nums[0];
int res=Math.max(nums[0],nums[1]);
if(len==2)
return res;
int pre=nums[0];
for(int i=2;i<len;i++){
int temp=res;
res=Math.max(pre+nums[i],res);
pre=temp;
}
return res;
}
}