力扣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。

相关推荐
披着羊皮不是狼1 小时前
多用户博客系统搭建(1):表设计+登录注册接口
java·开发语言·springboot
WX-bisheyuange4 小时前
基于Spring Boot的教师个人成果管理系统的设计与实现
java·spring boot·后端
小安同学iter4 小时前
SQL50+Hot100系列(11.9)
算法·leetcode·职场和发展
炼金士5 小时前
基于多智能体技术的码头车辆最快行驶路径方案重构
算法·路径规划·集装箱码头
xunyan62345 小时前
面向对象(上)-封装性的引入
java·开发语言
脸大是真的好~5 小时前
黑马JAVAWeb-05 JDBC入门-预编译SQL-Mybatis入门-Mybatis日志输出-数据库连接池-增删改查-XML映射配置
java
还算善良_5 小时前
XML签名
xml·java·开发语言
梅梅绵绵冰5 小时前
xml方式实现AOP
xml·java·开发语言
小刘max6 小时前
最长递增子序列(LIS)详解:从 dp[i] 到 O(n²) 动态规划
算法·动态规划
桦说编程6 小时前
Guava 迭代器增强类介绍
java·后端·设计模式