文章目录 题目描述思路分析代码实现 题目描述 思路分析 详细解析请转自此观看 代码实现 public int rob(int[] nums) { if (nums.length == 0) { return 0; } int N = nums.length; int[] dp = new int[N + 1]; dp[0] = 0; dp[1] = nums[0]; for (int k = 2; k <= N; k++) { dp[k] = Math.max(dp[k - 1], nums[k - 1] + dp[k - 2]); } return dp[N]; }