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

337. 打家劫舍 III(leetcode) 2

https://leetcode.cn/problems/house-robber-iii/description/

此前做过此题,不过时隔一年再做一遍有新的理解

class Solution {private Map<TreeNode,Integer> vis = new HashMap<>();public int rob(TreeNode root) {// 在二叉树上做选择,不能选择直接相连的节点// f[i] 表示以 i 为根的树中能获取到的最大金额,集合法表示以i为根的树中的所有可能的走法,属性为最大价值// 从子树考虑一直推导到根节点// 以节点i是否偷取作为标准,也可划分子集// 偷i: 那么i的子节点都不能偷,只能偷i的孙子节点,节点编号为i/2/2=i/4// f[i]=max(f[i/4],f[i/4+1],f[i/4+2],f[i/4+3]) + nums[i],i/4>=0// 不偷i: 那么i1的子节点可以偷, f[i] = f[i/2]+f[i/2+1]//// 转化成树形dp做法:使用搜索dfs或者bfs,dfs递归需要定义函数意义// dfs(root)表示以root为根的树能获取到的最大金额// 不偷: dfs(root) = dfs(root.left) + dfs(root.right)// 偷 dfs(root) = root.val + dfs(root.left.left) + dfs(root.left.right) + dfs(root.right.left) + dfs(root.right.right)// 边界条件: if(root==null), return 0,为叶子结点时返回值// 无左右儿子,直接返回当前节点值return dfs(root);}int dfs(TreeNode root) {// 后续遍历if (root == null) return 0;if (root.left == null && root.right == null) return root.val;// 剪枝if (vis.get(root) != null) return vis.get(root);// 不偷rootint left = dfs(root.left);int right = dfs(root.right);// 偷rootint steal=root.val;if (root.left != null) {steal +=  dfs(root.left.left) + dfs(root.left.right);}if (root.right != null) {steal += dfs(root.right.left) + dfs(root.right.right);}int res = Math.max(left+right, steal);// 运行到此处时,意味着当前节点结果计算完毕,可以保存已计算的结果进行剪枝vis.put(root,res);return res;}
}

 

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

相关文章:

  • 电镀塑料回收处理指南:专业服务流程详解,电镀塑料回收排行榜深度剖析助力明智之选 - 品牌推荐师
  • 2026年抛丸机厂家推荐:工业生产场景深度评测,直击能耗与维护成本痛点 - 品牌推荐
  • 美国市场营销求职中介哪家强:十大中介精选攻略 - 技研备忘录
  • 平顶山英语雅思培训机构推荐,2026权威测评出国雅思辅导机构口碑榜 - 苏木2025
  • 不用远赴北方,秦岭少华山就能看绝美冰瀑与冰湖
  • 2026Q1连云港财税公司排名 会计代账机构优选指南 - 品牌智鉴榜
  • 一河一街八百年,平江路里藏姑苏
  • 学长亲荐!巅峰之作的AI论文软件 —— 千笔·专业论文写作工具
  • Si8920AD-IS,高精度低噪声的隔离放大器
  • 1月盘点:2026年ELISA试剂盒品牌推荐与排行,il-1β elisa试剂盒,ELISA试剂盒实力厂家有哪些 - 品牌推荐师
  • QCustomPlot两个不同的Plot之间联动
  • WAW-1000G型微机控制电液伺服钢绞线拉力试验机
  • 【计算机毕设】python基于模板的药品名称识别系统
  • 企业必看!2026年阿里邮箱官方联系方式与高效问题解决通道指南 - 品牌2025
  • 楚雄黄金选购新路径|廖金匠昆明店的贴心“云服务” - charlieruizvin
  • 【计算机毕设】基于Python计算机视觉答题卡的设计与实现
  • 2026年防爆软瓷公司权威推荐:防爆软瓷/超低压软瓷/高压软瓷/节能软瓷/选择指南 - 优质品牌商家
  • 千匠网络供应链金融系统:以科技重塑产业融资生态,赋能产业发展 - 圆圆小达人
  • 2026实测测评推荐:4家主流惯性测量器件厂家对比排行榜 - 深度智识库
  • 2026广东最新首饰3D画图培训/珠宝设计培训机构首选推荐广州凡饰创意珠宝文化有限公司:实战赋能,精准培育珠宝行业人才 - 品牌推荐2026
  • 别再只怪手机!孩子近视,这些被忽略的因素才是关键
  • 2026年办公室设计公司权威推荐:办公楼装修/大型写字楼装修/实验室装修/办公室设计/厂房设计/大型厂房装修/学校装修设计/选择指南 - 优质品牌商家
  • vue 双向绑定 对象初始化 不替换指针 用 Object.assign(app.value.modalAddWan, $app.modalAddWan)
  • 2026年中国房产继承律师联系电话推荐:核心律师与联系渠道 - 品牌推荐
  • 2026十大变送器品牌推荐:哪个更适合你的工业应用场景? - 品牌推荐2026
  • 2026年陕西废旧金属废铜废铝回收厂家权威推荐:聚焦合规处置与资源高值化利用的行业标杆 - 深度智识库
  • 楚雄黄金店星级排名|廖金匠4.9分登顶,本土商家各有特色 - charlieruizvin
  • AI 正在杀死的不是手写代码的技能,而是你的肌肉记忆
  • 2026年中国房产继承律师联系电话推荐:高效联系与咨询要点 - 品牌推荐
  • 从视频生成视角出发:英伟达 ChronoEdit 革新图像编辑领域,性能一致性 SOTA