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

重练算法(代码随想录版) day39 - 动态规划part7

今日刷题量:3
当前刷题总量:150
Easy: 59
Mid: 84
Hard: 7

Day39
解题思想
198 打家劫舍 I(线性数组)

  • 约束:相邻不能同时偷。
  • 状态:dp[i]:偷到第 i 家(0..i)为止的最大金额
  • 转移:dp[i] = max(dp[i-1], dp[i-2] + nums[i])
    • 不偷 i:沿用 dp[i-1]
    • 偷 i:必须不偷 i-1,所以用 dp[i-2] + nums[i]
  • 初始化
    • dp[0]=nums[0]
    • dp[1]=max(nums[0], nums[1])
  • 优化:滚动变量 O(1) 空间

213 打家劫舍 II(环形数组)

  • 约束:相邻不能偷,并且 首尾也相邻。
  • 核心判断:第一家和最后一家不能同时偷 → 拆成两个线性问题(都用 198):
    • 只考虑 [0..n-2](排除最后一家)
    • 只考虑 [1..n-1](排除第一家)
    • 答案:max(rob(0..n-2), rob(1..n-1))
  • 也可以用滚动变量

337 打家劫舍 III(树形)

  • 约束:父子不能同时偷(相邻节点不能同时偷)
  • 对每个节点 u 做两种状态:
    • notRob[u]:不偷 u 的最大值
    • rob[u]:偷 u 的最大值
  • 转移:
    • rob[u] = u.val + notRob[left] + notRob[right]
    • notRob[u] = max(notRob[left], rob[left]) + max(notRob[right], rob[right])
  • 答案:max(notRob[root], rob[root])
  • 遍历方式:递归 DFS(天然后序),因为父节点需要先知道孩子的状态。

总结:
198:结构是线性 → 依赖 i-1、i-2
213:结构是环 → “断环成两条线”各跑一次 198
337:结构是树 → 每个点做“偷/不偷”两状态,后序合并

练习题目
198.打家劫舍(mid):https://leetcode.cn/problems/house-robber/
213.打家劫舍II (mid):https://leetcode.cn/problems/house-robber-ii/description/
337.打家劫舍III(mid):https://leetcode.cn/problems/house-robber-iii/description/

http://www.jsqmd.com/news/84295/

相关文章:

  • 影刀RPA×AI强强联合!小红书限时折扣活动一键创建,效率提升40倍![特殊字符]
  • LLM - 从 Prompt 到上下文工程:面向 Java 的生产级 AI Agent 设计范式
  • AtCoder Beginner Contest 436 ABCDEF 题目解析
  • 基于储能稳压的交直流混合电能路由器Matlab/Simulink仿真
  • 北京上门收酒服务权威推荐榜单 - 品牌排行榜单
  • 2025中餐适配的厨余处理器测评:七大品牌研磨精度与管道保护能力对比 - 速递信息
  • AI元人文构想:元协议、行为重塑与文明免疫系统——通往意义原生的智能未来
  • VinylMusicPlayer:Android 开源音乐播放器完整使用指南
  • Vue脚手架快速搭建指南
  • CSS 选择器
  • 影刀RPA×AI强强联合!小红书笔记转化数据智能分析,3分钟洞察爆款密码![特殊字符]
  • 2025免费降AI率完全指南:从工具选择到实操技巧,一步到位
  • 2025免费降AI率完全指南:从降AI工具选择到实操技巧,一步到位!
  • 国产操作系统:自主可控的技术突围
  • 发电。
  • 10398_基于SSM的教学评价管理系统
  • 鸿蒙PC UI控件库 - 品牌标识系统详解
  • test tags - itnews
  • AudioGen文本到音频生成技术深度解析
  • Portfolio个人作品集网站:5分钟快速搭建专业在线简历终极指南
  • 2025年“免费+付费”降AI工具组合使用指南,ai率降到15%
  • 软件工程选择题
  • 泛型的相关知识
  • java流程控制
  • 2025年降AI率工具实测!5个降AI工具推荐:免费降AIGC工具指南
  • Halo博客系统审计
  • 2025免费降AI率完全指南:从查AI工具选择到降AI技巧,一步到位!
  • 终极指南:快速搭建Gitea自托管Git服务
  • 数字电路模拟程序课堂测验-总结
  • tk.simpledialog-创建简单的模态对话框