代码随想录算法训练营day39|动态规划part7

今天是打家劫舍专题,第一题难度不大,想出状态转移方程dp[i]=max(dp[i-2]+nums[i],dp[i-1])即可求解;第二题相比于第一题,这题的房屋改成了环状结构,表面上看很难,实际上只需分类讨论,分成不包含头节点和不包含末节点两部分分别用第一题的思路求解,然后再取最大值即可。

重点是第三题,第三题是二叉树和dp的结合,难度比较大。这题的状态转移方程和前面的题目的形式都不同,因为这题是在二叉树上进行的操作,又因为操作二叉树需要采用递归,所以这道题实际上是每一层都创建一个dp数组,所以这个dp数组只需记录每一层的状态再向上返回即可。所以dp数组只需含有两个元素,一个记录不偷当前节点的状态,另一个记录偷当前节点的状态,然后逐层向上递归即可。

198.打家劫舍

视频讲解:动态规划,偷不偷这个房间呢?| LeetCode:198.打家劫舍_哔哩哔哩_bilibili

代码随想录

213.打家劫舍II

视频讲解:动态规划,房间连成环了那还偷不偷呢?| LeetCode:213.打家劫舍II_哔哩哔哩_bilibili

代码随想录

337.打家劫舍III

视频讲解:动态规划,房间连成树了,偷不偷呢?| LeetCode:337.打家劫舍3_哔哩哔哩_bilibili

代码随想录

相关推荐
像污秽一样4 分钟前
算法设计与分析-习题8.1
数据结构·算法·dfs·dp
飞天狗1116 分钟前
最小生成树算法
算法
H_老邪18 分钟前
贪心算法的应用
算法·ios·贪心算法
葳_人生_蕤20 分钟前
Hot100——739.每日温度
数据结构·算法
Elsa️74621 分钟前
洛谷p1046:用一个题练习排序+二分查找
c++·算法
2301_7665586522 分钟前
‘小批量快反’为何成功能母粒新护城河?福尔蒂柔性产线调度系统架构图首度开源
系统架构·动态规划·宽度优先
2501_9248787326 分钟前
并非所有‘黑色母‘都是碳黑分散体:颜料包覆率、熔指匹配与螺杆剪切窗口解析(含实测对比)
深度优先·动态规划
木二_31 分钟前
056.Kubernetes cert-manager Root CA自签实战
算法·容器·kubernetes
老赵聊算法、大模型备案32 分钟前
网信办公示 2026 年 1-2 月生成式 AI 备案登记情况:新增 94 款,累计突破 1200 款
人工智能·算法·安全·aigc
x_xbx38 分钟前
LeetCode:21. 合并两个有序链表
算法·leetcode·链表