import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型一维数组
* @return int整型
*/
public int rob (int[] nums) {
if(nums == null || nums.length == 0) return 0 ;
if(nums.length == 1) return nums[0] ;
int len = nums.length ;
//f[i]表示nums前i个房间能获得的最大价值
int f[] = new int[len + 1] ;
f[0] = 0 ;
f[1] = nums[0] ;
for(int i = 2 ; i <= len ; i ++) {
//打劫 i-1号房 或者不打劫 i-1号房
f[i] = Math.max(f[i-1] , f[i-2] + nums[i-1]) ;
}
return f[len] ;
}
}

京公网安备 11010502036488号