leetcode 198. 打家劫舍

2023.8.19

打劫问题是经典的动态规划问题。先设一个dp数组,dpi的含义为:前 i 个房屋能盗取的最高金额。 每间房屋无非就是偷,或者不偷这两种情况,于是可以写出递推公式: ​​​​​​​ dpi = max(dpi-2+numsi-1 , dpi-1);

由递推公式发现需要初始化dp0和dp1,初始化完之后再对房屋进行遍历赋值即可。附上我的草稿图以供参考:

​​​​​​​

代码如下:

cpp 复制代码
class Solution {
public:
    int rob(vector<int>& nums) {
        vector<int> dp(nums.size()+1);
        dp[0] = 0;
        dp[1] = nums[0];
        for(int i=2; i<=nums.size(); i++)
        {
            dp[i] = max(dp[i-2]+nums[i-1] , dp[i-1]);
        }
        return dp[nums.size()];
    }
};
相关推荐
weixin_3077791342 分钟前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
朝朝辞暮i1 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i1 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
ychqsq2 小时前
207.炸酱面
经验分享·职场和发展
Godspeed Zhao2 小时前
现代智能雷达技术14——算法(0)
线性代数·算法·雷达
可乐ea2 小时前
Agent 模型分级升级路由:用置信度阈值把贵模型省下来
人工智能·算法·机器学习·结构化输出·置信度路由·模型升级路由·大模型成本优化
Navigator_Z2 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
Godspeed Zhao2 小时前
现代智能雷达技术18——算法(4)
算法
lvwangshu3 小时前
登录日志 题解
数据结构·线段树·题解·技巧·性质题·思维好题·细节题
CHEEVEN_QY3 小时前
液冷板热阻计算与流阻优化的实战方法
人工智能·算法·机器学习