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]
相关推荐
-森屿安年-16 小时前
647. 回文子串
c++·算法·动态规划
皓月斯语17 小时前
P5736 【深基7.例2】质数筛
c++·算法·题解
极序时代GEO品牌优化18 小时前
杭州极序时代|面向地域、设备与用户画像的动态GEO
人工智能·python·算法·极序时代geo
啦啦啦啦啦zzzz18 小时前
贪心算法和动态规划
c++·算法·贪心算法·动态规划
happyprince18 小时前
篇3:bitsandbytes-深刻观-哲学与升华
人工智能·算法
应用市场19 小时前
红绿灯背后的算法:从 Webster 配时到 Max-Pressure 与强化学习
算法
木井巳19 小时前
【DFS解决floodfill算法】岛屿的最大面积
java·算法·leetcode·深度优先
yyds_yyd_1008619 小时前
877. 石子游戏(2026.08.02)& 486. 预测赢家(2026.08.01)
c++·leetcode
m沐沐19 小时前
【机器学习】朴素贝叶斯算法:从贝叶斯定理到手写数字识别实战
人工智能·深度学习·算法·机器学习·计算机视觉·手写数字·数字识别
June`20 小时前
常量内存和只读缓存
c++·人工智能·算法·cuda