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

腾讯云网站建设教学视频网页快速开发平台

腾讯云网站建设教学视频,网页快速开发平台,建设工程发布公告的网站,北京中风险地区题目: 二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边,同一个节点在一条路径序列中至多出现一次,该路径至少包含一个节点,且不一定经过根节点。 路径和是路径中各节点值得总和,…

题目:

二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边,同一个节点在一条路径序列中至多出现一次,该路径至少包含一个节点,且不一定经过根节点。

路径和是路径中各节点值得总和,给定二叉树得根节点root,返回其最大路径和


方法一:递归

首先,考虑实现一个简化的函数 maxGain(node),该函数计算二叉树中的一个节点的最大贡献值,具体而言,就是在以该节点为根节点的子树中寻找以该节点为起点的一条路径,使得该路径上的节点值之和最大。

  • 空节点的最大贡献值等于 0

  • 非空节点的最大贡献值等于节点值与其子节点中的最大贡献值之和(对于叶节点而言,最大贡献值等于节点值)

 

叶节点 9、15、7 的最大贡献值分别为 9、15、7。得到叶节点的最大贡献值之后,再计算非叶节点的最大贡献值。节点 20 的最大贡献值等于 20+max(15,7)=35,点 −10 的最大贡献值等于 −10+max(9,35)=25,

上述计算过程是递归的过程,因此,对根节点调用函数 maxGain,即可得到每个节点的最大贡献值。

根据函数 maxGain 得到每个节点的最大贡献值之后,如何得到二叉树的最大路径和?对于二叉树中的一个节点,该节点的最大路径和取决于该节点的值与该节点的左右子节点的最大贡献值,如果子节点的最大贡献值为正,则计入该节点的最大路径和,否则不计入该节点的最大路径和。维护一个全局变量 maxSum 存储最大路径和,在递归过程中更新 maxSum 的值,最后得到的 maxSum 的值即为二叉树中的最大路径和。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def __init__(self):self.maxSum=-1e9def maxPathSum(self, root):""":type root: Optional[TreeNode]:rtype: int"""def maxGain(node):if not node:return 0#递归计算左右子节点的最大贡献值,只有在最大贡献值大于 0 时,才会选取对应子节点leftGain=max(maxGain(node.left),0)rightGain=max(maxGain(node.right),0)#节点的最大路径和取决于该节点的值与该节点的左右子节点的最大贡献值priceNewpth=node.val+leftGain+rightGain#更新答案self.maxSum=max(self.maxSum,priceNewpth)#返回节点最大贡献值return node.val+max(leftGain,rightGain)maxGain(root)return self.maxSum

时间复杂度:O(N)N 是二叉树中的节点个数。对每个节点访问不超过 2 次。

空间复杂度:O(N)主要取决于递归调用层数,最大层数等于二叉树的高度,最坏情况下,二叉树的高度等于二叉树中的节点个数

源自力扣官方题解
 

http://www.dtcms.com/a/552642.html

相关文章:

  • qq在线网站代码生成找网上公司做网站
  • 有做网站网站的么毕业设计网站可以做什么
  • 网站建设需要什么内容昆明网站排名优化费用
  • 个人信息网站建设方案书框架栏目漏惹网站做
  • 网站安装模板网站建设分为多少模块
  • 提高网站公信力 单仁我也来做外国网站购物
  • 用电脑建设个人网站 并用手机访问网站制作合同模板
  • 2015网站设计趋势seo排名需要多少钱
  • 网站建设 岗位职责网页设计作业电影介绍网站
  • 莫名接到网站建设电话自我简介网页模板html
  • 网站做电商资质吗河南省汝州市文明建设门户网站
  • 杭州网站搭建怎么制作网页里面的内容
  • 电子商务网站搜索引擎设计提交链接
  • 个人网站布局下载网站备案哪个部门
  • 网站建设展示型是什么学设计需要哪些软件
  • 网站策划包括什么wordpress 文章外链
  • 自建网站需要学哪些服务器做ssr后还可以做网站吗
  • win2008iis配置网站自己想做一个网站
  • 淘宝客做网站可行么上海平台网站建设费用
  • 重庆旅游网站建设规划电子商务网站创业计划书
  • 珠海市建设工程质量监督检测站网站苏州园区公积金管理中心官网
  • 网站快速收录付费入口了解电商基本知识
  • 手机网站代理wordpress积分购买
  • 高端平面设计网站网站博客模板
  • 有哪些做婚礼平面设计的网站网页界面设计特点
  • o2o网站建设平台seo织梦网站建设步骤
  • 怎么做一帘幽梦网站购买域名有什么用
  • 电子商务网站建设的论文wordpress html5主题
  • 哈尔滨企业网站模板建站应用商店官方下载
  • 建网站维护要多少钱国内有什么网站