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]
}
相关推荐
进击的小头几秒前
第11篇:频率响应绘制方法——伯德图(Bode Plot)
python·算法
2401_88303546几秒前
C++20概念(Concepts)入门指南
开发语言·c++·算法
fengci.21 分钟前
PolarD&N困难补充
算法
91刘仁德34 分钟前
C++ 内存管理
android·c语言·数据结构·c++·经验分享·笔记·算法
sali-tec35 分钟前
C# 基于OpenCv的视觉工作流-章38-BF特征匹配
图像处理·人工智能·opencv·算法·计算机视觉
历程里程碑1 小时前
链表-----
数据结构·线性代数·算法·链表·矩阵·lua·perl
一叶落4381 小时前
167. 两数之和 II - 输入有序数组【C语言题解】
c语言·数据结构·算法·leetcode
地平线开发者1 小时前
征程6 MCU safetylib sample
算法·自动驾驶
小范自学编程2 小时前
算法训练营 Day37 - 动态规划part06
算法·动态规划
星空露珠2 小时前
迷你世界UGC3.0脚本Wiki角色模块管理接口 Actor
开发语言·数据库·算法·游戏·lua