力扣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 intn+1;

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

相关推荐
地平线开发者几秒前
Horizon 模型多 Batch 配置
算法·自动驾驶
程序猿乐锅5 分钟前
【苍穹外卖|Day02】后台接口自测闭环:Token、DTO 与 yml 配置
java·开发语言
心之伊始8 分钟前
Spring Boot Actuator + Micrometer 自定义业务指标:不只是健康检查
java·架构·源码分析·csdn
czhaii12 分钟前
GB2312简体中文编码表
单片机·算法
Eason_LYC15 分钟前
【GetShell 实战】CVE-2026-34486 Tomcat 加密拦截器绕过:从漏洞验证到反弹 Shell 全流程
java·渗透测试·tomcat·java反序列化·rce·远程代码执行漏洞·cve-2026-34486
qq_25183645721 分钟前
基于java 税务管理系统设计与实现
java·开发语言
8Qi821 分钟前
LeetCode 121 & 122:股票买卖问题(DP 对比题解)✅
算法·leetcode·职场和发展·动态规划
超梦dasgg25 分钟前
Java 生产环境分布式定时任务全解(实战落地版)
java·开发语言·分布式
破土士V31 分钟前
Java基础知识集合
java·开发语言
一只齐刘海的猫32 分钟前
【Leetcode】 接雨水
java·算法·leetcode