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]
相关推荐
励志的小陈2 小时前
双指针算法--移除元素、删除有序数组中的重复项、合并两个有序数组
算法
hoiii1872 小时前
Mean Shift目标跟踪算法MATLAB实现
算法·matlab·目标跟踪
alphaTao2 小时前
LeetCode 每日一题 2026/3/23-2026/3/29
服务器·windows·leetcode
励志的小陈2 小时前
复杂度算法题——旋转数组(三种思路)
c语言·数据结构·算法
tankeven3 小时前
HJ151 模意义下最大子序列和(Easy Version)
c++·算法
不光头强3 小时前
力扣78子集题解
算法·leetcode·深度优先
独断万古他化3 小时前
【算法通关】二叉树中的深搜:DFS 递归解题套路
算法·二叉树·深度优先·dfs·递归
㓗冽3 小时前
2026.03.27(第三天)
数据结构·c++·算法
sali-tec3 小时前
C# 基于OpenCv的视觉工作流-章44-直线卡尺
图像处理·人工智能·opencv·算法·计算机视觉
Magic--3 小时前
经典概率题:飞机座位分配问题(LeetCode 1227)超详细解析
算法·leetcode·职场和发展