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]
相关推荐
wjcroom13 小时前
时空和电子7-泡力模型含罗量
人工智能·算法·机器学习
KaMeidebaby13 小时前
卡梅德生物技术快报 | Fab 合成文库构建与抗体筛选实验流程及数据解析
人工智能·python·tcp/ip·算法·机器学习
金融小师妹13 小时前
基于AI事件驱动模型与验证溢价框架的市场分析:从预期交易到事实验证,原油与黄金面临关键定价重构
大数据·人工智能·算法·均值算法·线性回归
xxwl58513 小时前
工作室小测的部分记录
c++·学习·算法
智者知已应修善业13 小时前
【51单片机串口通信甲机四个按键模拟四位二进制值发送乙机以十进制显示2位数码管】2024-6-14
c++·经验分享·笔记·算法·51单片机
KobeSacre13 小时前
划分为k个相等的子集
算法·leetcode·深度优先
不会就选b13 小时前
算法日常・每日刷题--<二分查找>2
算法
郝学胜_神的一滴13 小时前
完全二叉树与堆底层原理深度剖析 | 手写C++大顶堆实现
数据结构·算法
coding者在努力13 小时前
【无标题】
算法
兰令水13 小时前
leecodecode【面试150】【2026.6.15打卡-java版本】
java·算法·面试