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]
相关推荐
徐小夕4 小时前
花了一周,3亿tokens,我开源了一款 Word 文档智能审查平台,文稿自动质检+可视化分析,告别低效人工审核
前端·算法·github
可编程芯片开发6 小时前
UPFC统一潮流控制器的simulink建模与仿真
算法
小小仙子6 小时前
矢量网络分析仪如何测试S参数的?
人工智能·算法·机器学习
中微极客8 小时前
降维算法75倍加速:从PCA到稀疏字典学习的工程实践
人工智能·学习·算法
storyseek8 小时前
前缀和实现Kogge-Stone算法
数据结构·算法
元Y亨H8 小时前
开发者必须掌握的十大核心算法
算法
元Y亨H9 小时前
深度解构:数据结构与算法的理论基石与工程演进
数据结构·算法
元Y亨H9 小时前
数据结构与算法的通俗指南
数据结构·算法
2301_764441339 小时前
用动力学系统(微分方程)为 Kernberg 的客体关系单元提供数学化的操作定义,把“自体—客体“这对心理结构建模成一个二维耦合系统
数据结构·python·算法·数学建模