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]
}
相关推荐
渡过晚枫18 小时前
[第十四届蓝桥杯/java/算法]国赛A——跑步计划
算法
hanlin0318 小时前
刷题笔记:力扣第17题-电话号码的字母组合
笔记·算法·leetcode
不是株19 小时前
算 法
数据结构·python·算法
云泽80819 小时前
蓝桥杯算法精讲:从宏观角度重新认识递归
算法·职场和发展·蓝桥杯
自信1504130575919 小时前
插入排序算法
c语言·数据结构·算法·排序算法
蒸蒸yyyyzwd19 小时前
后端面试经验
面试·职场和发展
阿Y加油吧19 小时前
力扣打卡day09——缺失的第一个正数、矩阵置零
数据结构·算法·leetcode
2301_8184190119 小时前
C++中的状态模式实战
开发语言·c++·算法
仰泳的熊猫19 小时前
题目2576:蓝桥杯2020年第十一届省赛真题-解码
数据结构·c++·算法·蓝桥杯
CSDN_kada19 小时前
杭电网安复试编程Day23
c++·考研·算法