LeetCode讲解篇之198. 打家劫舍

LeetCode讲解篇之198. 打家劫舍

文章目录

题目描述

题解思路

该问题可以通过递推来完成

递推公式:

前n间房的最大金额 = max(前n-1间房的最大金额, 前n-2间房的最大金额+第n-1间房的最大金额)

题解代码

go 复制代码
func rob(nums []int) int {
    if len(nums) == 0 {
        return 0
    }
    n := len(nums)
    dp := make([]int, n + 1)
    dp[0] = 0
    dp[1] = nums[0]
    for k := 2; k <= n; k++ {
        if dp[k-1] > dp[k-2] + nums[k-1] {
            dp[k] = dp[k-1]
        } else {
            dp[k] = dp[k-2] + nums[k-1]
        }
    }

    return dp[n]
}
相关推荐
Tim_1014 小时前
【LeetCode】338、比特位计数
c++·算法·leetcode
木子算法14 小时前
不是重心也不是中点:费马—韦伯点、它的最优性条件与迭代求解
人工智能·算法·目标跟踪
2401_8322981015 小时前
人机协同:AI时代全新工作与学习范式
职场和发展
童园管理札记15 小时前
从政策驱动到课堂落地:2026年“人工智能+教育”全景解读与技术实践指南
人工智能·python·深度学习·职场和发展·学习方法
tryxr15 小时前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_315 小时前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode
Selvaggia15 小时前
DMD(Distribution Matching Distillation,分布匹配蒸馏)
算法
Navigator_Z16 小时前
LeetCode //C - 1255. Maximum Score Words Formed by Letters
c语言·算法·leetcode
All for pursuit.16 小时前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
开开心心就好16 小时前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法