力扣HOT100 - 198. 打家劫舍

解题思路:

动态规划

java 复制代码
class Solution {
    public int rob(int[] nums) {
        int len = nums.length;
        if (nums == null || len == 0) return 0;
        if (len == 1) return nums[0];
        int[] dp = new int[len];
        dp[0] = nums[0];
        dp[1] = Math.max(nums[0], nums[1]);
        for (int i = 2; i < len; i++) {
            dp[i] = Math.max(dp[i - 2] + nums[i], dp[i - 1]);
        }
        return dp[len - 1];
    }
}

为什么不是int[] dp=new int[n+1];

下标从0开始就用new int[n]就行,如果从1开始会越界才会加1。

相关推荐
小马爱打代码7 小时前
Spring Boot:DTO、VO、BO、Entity 的正确工程化分层
java·spring boot·后端
老黄编程7 小时前
点云SIFT3D特征点云原理、算法描述及参数详细说明
算法·3d·sift3d
老黄编程7 小时前
3DHarris特征提取算法描述及参数详细说明
数学·算法·几何·3dharris特征提取
W***r267 小时前
Tomcat10下载安装教程
java
霸道流氓气质7 小时前
SpringBoot添加JSP支持
java·spring boot·后端
fruge7 小时前
技术面试复盘:高频算法题的前端实现思路(防抖、节流、深拷贝等)
前端·算法·面试
guslegend7 小时前
第1章:Mysql数据库架构演变历史
java
烤麻辣烫7 小时前
黑马程序员苍穹外卖(新手)DAY10
java·开发语言·学习·spring·intellij-idea
希望有朝一日能如愿以偿7 小时前
力扣每日一题:使数组和能被p整除
数据结构·算法·leetcode
q***73557 小时前
Spring Boot应用关闭分析
java·spring boot·后端