1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Solution { public int rob(int[] nums) { int n = nums.length;
if (n == 1) { return nums[0]; }
int[] dp = new int[n]; dp[0] = nums[0]; dp[1] = Math.max(nums[0], nums[1]);
for (int i = 2; i < dp.length; i++) { dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]); }
return dp[n - 1]; } }
|
References
198. House Robber
剑指 Offer II 089. 房屋偷盗