当前位置: 首页 > web >正文

【力扣198】打家劫舍

如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

源代码:

class Solution {
public:int rob(vector<int>& nums) {vector<int> dp (nums.size() + 1, 0);if(nums.size()==0){return 0;}if(nums.size()==1){return nums[0];}dp[1] = nums[0];dp[2] = max(nums[0], nums[1]);for(int i=3; i<=nums.size(); i++){dp[i] = max(dp[i-1], dp[i-2]+nums[i-1]);}return dp[nums.size()];}
};

设dp(i) 表示偷窃前i个房屋得到的最高金额。

dp[i-1]如果偷了第i-1家,则dp[i]不能偷第i家;
不偷第i家,第i-1家偷不偷都无所谓,即dp[i-1];
偷第i家,第i-1家不能偷,第i-2家偷不偷都无所谓,即dp[i-2]+nums[i];

动态规划方程:
dp(i) = max(dp[i-1], dp[i-2] + nums[i]);

在这里插入图片描述

修改后:
在这里插入图片描述
完美代码:
在这里插入图片描述

http://www.xdnf.cn/news/17559.html

相关文章:

  • Ubuntu 24.04 适配联发科 mt7902 pcie wifi 网卡驱动实践
  • 联邦学习之------VT合谋
  • 计算机网络:路由聚合的注意事项有哪些?
  • 【嵌入式】Linux的常用操作命令(2)
  • 米哈游笔试——求强势顶点的个数
  • [概率 DP]808. 分汤
  • 第4章 程序段的反复执行2 while语句P128练习题(题及答案)
  • pytorch llm 计算flops和参数量
  • Gltf 模型 加载到 Cesium 的坐标轴映射浅谈
  • 深入理解C++构造函数与初始化列表
  • Python训练营打卡Day27-类的定义和方法
  • AudioLLM
  • 专题二_滑动窗口_找到字符串中所有字母异位词
  • 第二十天:数论度量
  • 前端Web在Vue中的知识详解
  • 数据溢出ERROR L107:ADDRESS SPACE OVERFLOW
  • 11. 为什么要用static关键字
  • 【C++】string 的特性和使用
  • Python(13) -- 面向对象
  • 【面试场景题】通过LinkedHashMap来实现LRU与LFU
  • Java+Vue打造的采购招投标一体化管理系统,涵盖招标、投标、开标、评标全流程,功能完备,附完整可二次开发的源码
  • 标准IO实现
  • Effective C++ 条款32:确定你的public继承塑模出 is-a 关系
  • AWT 基本组件深入浅出:Button/Label/TextField/Checkbox/Choice/List 全面实战与性能优化
  • 2025-08-09 李沐深度学习14——经典卷积神经网络 (2)
  • MySQL相关概念和易错知识点(4)(分组查询、连接查询、合并查询、子查询)
  • Mysql笔记-系统变量\用户变量管理
  • 【LLM实战|langchain】langchain基础
  • toRef和toRefs
  • 智慧城管复杂人流场景下识别准确率↑32%:陌讯多模态感知引擎实战解析