如何用打家劫舍的思维分析python二叉树
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,如何用打家劫舍的思维分析python二叉树,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在上次打劫完一条街道之后和一圈房屋后,小偷又发现
千家信息网最后更新 2025年12月01日如何用打家劫舍的思维分析python二叉树
如何用打家劫舍的思维分析python二叉树,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为"根"。 除了"根"之外,每栋房子有且只有一个"父"房子与之相连。一番侦察之后,聪明的小偷意识到"这个地方的所有房屋的排列类似于一棵二叉树"。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。
计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。
示例 1:
输入: [3,2,3,null,3,null,1]
3
/ \
2 3
\ \
3 1
输出: 7
解释: 小偷一晚能够盗取的最高金额 = 3 + 3 + 1 = 7.示例 2:
输入: [3,4,5,1,3,null,1]
3
/ \
4 5
/ \ \
1 3 1
输出: 9
解释: 小偷一晚能够盗取的最高金额 = 4 + 5 = 9.解题思路:
1,有两种选择
A,打劫根节点和孙子节点
B,打劫孩子节点
2,有5种边界情况
A,根节点空
B,左右孩子非空
C,左右孩子均空
D,左孩子空
E,右孩子空
/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func rob(root *TreeNode) int { val:=0 if root==nil{ return val } if root.Left!=nil && root.Right!=nil{ ll:=rob(root.Left.Left) lr:=rob(root.Left.Right) rl:=rob(root.Right.Left) rr:=rob(root.Right.Right) l:=rob(root.Left) r:=rob(root.Right) if root.Val+ll+lr+rr+rl>l+r{ return root.Val+ll+lr+rr+rl } return l+r } if root.Left!=nil{ ll:=rob(root.Left.Left) lr:=rob(root.Left.Right) l:=rob(root.Left) if root.Val+ll+lr>l{ return root.Val+ll+lr } return l } if root.Right!=nil{ rl:=rob(root.Right.Left) rr:=rob(root.Right.Right) r:=rob(root.Right) if root.Val+rl+rr>r{ return root.Val+rl+rr } return r } return root.Val}看完上述内容,你们掌握如何用打家劫舍的思维分析python二叉树的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
孩子
小偷
节点
最高
房子
房屋
金额
打家劫舍
思维
分析
内容
只有
地区
情况
方法
更多
示例
问题
解释
输入
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全与数据恢复证
十三月正在检查服务器
南昌企业软件开发平台
英特尔有没有服务器
僵尸世界大战本地服务器联机
flask 的数据库迁移
大庆网络安全普查
网络安全攻防知识书籍
张掖网络安全和信息部姜文
微型计算机的数据库系统工程师
关于网络安全班会记录内容
中国10大网络安全品
网络安全周信安小测试
服务器链接丢失怎么回事
和田网络安全信息服务中心
班级网络安全声明
服务器里面的ad
网络安全的调研目的
武汉东风软件开发待遇好吗
潜渊症服务器存档位置
微糖服务器异常
怀柔区信息网络技术服务系统
张掖网络安全和信息部姜文
如家数据库下载
安徽项目软件开发费用
上海飞宇网络技术
excel数据库查找数据
监控服务器端
东软集团新能源软件开发
南京电话软件开发供应