怎样分析python二叉树的最大路径和
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,今天就跟大家聊聊有关怎样分析python二叉树的最大路径和,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。给定一个非空二叉树,返回其最大路径和。
千家信息网最后更新 2025年01月25日怎样分析python二叉树的最大路径和
今天就跟大家聊聊有关怎样分析python二叉树的最大路径和,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
给定一个非空二叉树,返回其最大路径和。
本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。
示例 1:
输入: [1,2,3]
1
/ \
2 3
输出: 6
示例 2:
输入: [-10,9,20,null,null,15,7]
-10
/ \
9 20
/ \
15 7
输出: 42
解题思路:
对于二叉树问题优先想到递归,因为划分子问题比较容易,最大路径和隐含问题是路径连续
1,由于可能含根,可能不含根,所以最大和为
max(根的值,左分支含根最大和,左分支含根最大和+根,右分支含根最大和,右分支含根最大和+根,左分支含根最大和+根+右分支含根最大和,左分支不含根最大和,右分支不含根最大和)
2,上述问题包含含根(单边)最大和子问题,求解为
max(根的值,根的值+左含根最大和,根的值+右含根最大和)
注意不包含:左含根最大和+根的值+右含根最大和,因为路线不能有分叉
代码如下
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func maxPathSum(root *TreeNode) int {
if root==nil{
return 0
}
if root.Left!=nil && root.Right!=nil{
lr:=maxPathSumRoot(root.Left)
rr:=maxPathSumRoot(root.Right)
l:=maxPathSum(root.Left)
r:=maxPathSum(root.Right)
a:=[]int{root.Val,root.Val+lr,root.Val+rr,lr,rr,root.Val+lr+rr,l,r}
return max(a)
}else if root.Left!=nil {
lr:=maxPathSumRoot(root.Left)
l:=maxPathSum(root.Left)
a:=[]int{root.Val,root.Val+lr,lr,l}
return max(a)
}else if root.Right!=nil{
rr:=maxPathSumRoot(root.Right)
r:=maxPathSum(root.Right)
a:=[]int{root.Val,root.Val+rr,rr,r}
return max(a)
}
return root.Val
}
func max(arr []int) int{
max:=-1<<31
for i:=0;i
if max
max=arr[i]
}
}
return max
}
func maxPathSumRoot(root *TreeNode) int {
if root==nil{
return 0
}
l:=maxPathSumRoot(root.Left)
r:=maxPathSumRoot(root.Right)
return max([]int{l+root.Val,r+root.Val,root.Val})
}
看完上述内容,你们对怎样分析python二叉树的最大路径和有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
最大
分支
路径
问题
节点
内容
分析
示例
输入
输出
代码
分子
序列
思路
更多
本题
知识
篇文章
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
php配置文件 数据库
中学生关于网络安全提案
华为电脑服务器怎么关闭
网络安全终端用户应该做哪些
怎么建立数据库mysql
数据库安全管理加密系统
数据库查询最小值最大值
荒野大镖客2线上有几个服务器
国家网络安全宣传个人信息保护日
同花顺不能导出数据库
数据库建立连接错误是怎么回事
网络安全 管理办法
大学生如何增强网络安全意识作文
u8数据库配置测试连接不成功
手机数据库在哪里更新
珠海市万物互联网络科技有限公司
税务系统网络安全考题
数据库初始化啊
天津市安全局网络安全行动
网络安全规划设计书范文
服务器上下载杀毒软件可以吗
自己租游戏服务器可以吗
传奇服务器无法刷怪
员工网络安全培训pdf下载
徐汇区网络技术服务
数据库切换服务器方法
网络技术优劣
鹤岗游戏软件开发
福建南鼎网络技术
vc连接数据库增删改查