public class Solution {
public int rob(int[] nums) {
int len = nums.length;
if(nums==null||len==0) return 0;
int[] maxV = new int[len];
if(len==1){
return nums[0];
}
if(len==2){
return Math.max(nums[0],nums[1]);
}
maxV[0] = nums[0];
maxV[1] = Math.max(nums[0],nums[1]);
for(int i=2;i<len;++i){
maxV[i] = Math.max(maxV[i-2] + nums[i], maxV[i-1]);
}
return maxV[len - 1];
}
}
public int rob(int[] nums) {
int len = nums.length;
if(nums==null||len==0) return 0;
int[] maxV = new int[len];
if(len==1){
return nums[0];
}
if(len==2){
return Math.max(nums[0],nums[1]);
}
maxV[0] = nums[0];
maxV[1] = Math.max(nums[0],nums[1]);
for(int i=2;i<len;++i){
maxV[i] = Math.max(maxV[i-2] + nums[i], maxV[i-1]);
}
return maxV[len - 1];
}
}