其他分享
首页 > 其他分享> > LeetCode.198. 打家劫舍

LeetCode.198. 打家劫舍

作者:互联网

LeetCode.198. 打家劫舍

难度:medium

 

动态规划的方法,注释写的很清楚,要注意的是nums只有一个元素的特殊情况;

Java: 

class Solution {
    public int rob(int[] nums) {
        int length = nums.length;
        //dp[i]为盗窃前i号房屋所能偷窃到的最高金额
        int[] dp = new int[length + 1]; 
        if (length <= 1) {
            return nums[0];
        }
        //初始化
        dp[0] = nums[0];
        dp[1] = Math.max(nums[0], nums[1]);
        //dp[i] = max(dp[i - 1], dp[i - 2] + nums[i])
        for (int i = 2; i < length; i++) {
            dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);
        }
        return dp[length - 1];
    }
}

复杂度分析:

标签:nums,int,LeetCode.198,复杂度,length,打家劫舍,dp
来源: https://blog.csdn.net/weixin_45867071/article/details/122155077