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] ; } }