解题思路:
dp
提交代码:
class Solution {
public int rob(int[] nums) {
if(nums==null||nums.length==0) return 0;
if(nums.length==1) return nums[0];
int[] dp=new int[nums.length];
dp[0]=nums[0];dp[1]=Math.max(nums[0], nums[1]);
for(int i=2;i<nums.length;i++)
dp[i]=Math.max(dp[i-1], dp[i-2]+nums[i]);
return dp[dp.length-1];
}
}
运行结果:

本文介绍了一种使用动态规划算法解决房屋抢劫问题的方法。在该问题中,相邻的房屋装有相互连通的安全系统,如果两间相邻的房屋被同一小偷闯入,则会自动联系警察。因此,小偷不能连续抢劫相邻的房屋。本文详细解释了如何通过动态规划算法求解最大抢劫金额,并提供了完整的代码实现。
820

被折叠的 条评论
为什么被折叠?



