89. 打家劫舍【动态规划】

题目

题解

python 复制代码
class Solution:
    def rob(self, nums: List[int]) -> int:
        N = len(nums)
        # 定义状态: dp[i]表示从第i间房子开始抢劫,最多能抢到的金额
        dp = [0 for i in range(N)]

        for i in range(N-1, -1, -1):
            if i == N-1:
                dp[i] = nums[i]
            elif i == N-2:
                dp[i] = max(nums[i], nums[i+1])
            else:
                dp[i] = max(dp[i+1], nums[i] + dp[i+2])

        return dp[0]
相关推荐
需要8268 分钟前
分布式 ID 生成:雪花算法、号段模式与时钟回拨
分布式·算法
垆边人似月.15 分钟前
华为机考题:字符串分隔
算法·华为
CQU_JIAKE18 分钟前
9.4【A】
算法
CQU_JIAKE22 分钟前
9.13[A]
算法
懿路向前32 分钟前
【唤醒实战笔记】2026-09-29 | 智能体提示词迭代史(v1 → v8)
linux·笔记·算法
@陈小鱼1 小时前
基于CNN-Transformer的无袖带血压估计
人工智能·深度学习·神经网络·算法·cnn·transformer·血压
黄金龙PLUS1 小时前
5个1280比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
不会就选b1 小时前
算法日常・每日刷题--<动态规划>1
java·数据结构·算法
shehuiyuelaiyuehao2 小时前
算法54,链表 两数相加
数据结构·算法·链表
147API2 小时前
如何设计“回答、追问、停答”三类蒸馏训练集
人工智能·算法·机器学习