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

网站网页/关于新品牌的营销策划

网站网页,关于新品牌的营销策划,统一开发平台,廉洁四川官方网权威发布leetcode124. 二叉树中的最大路径和给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3]1/ 2 3输出: 6示…

leetcode124. 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。

本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。

示例 1:

输入: [1,2,3]1/ 2   3输出: 6

示例 2:

输入: [-10,9,20,null,null,15,7]-10/ 9  20/  15   7输出: 42(15+7+20)

方法:递归

思路:

我们首先考虑什么样的路径可以是最大路径,根据题意,只要是一个结点到另一结点即可。那么我们可以分成两种:

  • 单向路径,即路径中所有的结点都不在同一层,比如示例2中的-10→20→7。
  • 双向路径,路径中,以根节点为最高层,左右两个单路径向两边延伸,比如示例二中的答案15←20→7。

我们考虑以每一个结点为根,可以构成的最大单向路径和maxgain为多少,叶节点的maxgain就为它本身的值,其他结点的maxgain则为它自己的值与它左右结点中较大的maxgain之和。

如示例2中,首先15和7的maxgain为本身,然后20的maxgain为20+max(15,7)=35,然后9的maxgain为本身,-10的maxgain为-10+max(9,35)=25。

由上面的过程可以看出,这是一个从下到上的计算过程,因此用DFS递归可以完成计算。

我们再考虑答案与maxgain的关系,如果以某个点node为路径的根,那么双向路径的和为

node.val+maxgain(node.left)+maxgain(node,right);

单向路径为

node.val+maxgain(node.left)或node.val+maxgain(node.right)。

我们要找到这个结点为根的最大路径和,那么就是上面三个式子的最大值,而只有在左结点或右结点的maxgain<0,答案才会是下面的式子,所以我们首先判断左右结点的maxgain是不是小于0,如果小于0,置为0,这样就都可以使用上面的式子来表示了。

由于计算路径和的时候,所需的值都是这个节点以及下一层的值,所以在遍历计算maxgain的同一个递归即可完成,只要使用一个全局变量更新结果即可。

代码:

# Definition for a binary tree node.

结果:

f0a651168a6c385d9759db0137f5c3b9.png
http://www.lbrq.cn/news/1449451.html

相关文章:

  • 金融网站素材/全国唯一一个没有疫情的城市
  • 专门做日本旅游的网站/成人短期就业培训班
  • 服装网站建设策划/域名注册商怎么查
  • 公司网站模块制作/网络推广优化seo
  • 宣武上海网站建设/有什么公司要做推广的
  • 什么网站算是h5做的/免费的网站软件下载
  • wordpress资讯站模板/搜索引擎推广简称
  • 网址自动生成手机网站/上海百度推广开户
  • 网站做sem优化/珠海网站设计
  • 网站推广的方法和手段/网络运营商
  • cms网站栏目介绍/近期出现的病毒叫什么
  • 莱芜警方网站官网/刷粉网站推广马上刷
  • 伪静态一个虚拟空间做两个网站/链接购买
  • 网页类型分类7种/seo和网络推广有什么区别
  • wordpress企业仿站/厦门seo外包服务
  • 湖南网站建设磐石网络口碑好/高端营销型网站
  • 广州网站建设乐云seo模板中心/如何在网上推广自己的产品
  • skech做网站交互流程/如何网上免费打广告
  • 租房网站开发视频教程/信息流优化师没经验可以做吗
  • 做鞋子皮革有什么网站/seo全称
  • wordpress f4v/重庆百度seo公司
  • 如何不用百度推广做网站/网络营销的8个基本职能
  • 温州营销网站制作费用/长沙网站公司品牌
  • 如何搞好网站建设/点石关键词排名优化软件
  • 最新seo黑帽技术工具软件/福建搜索引擎优化
  • diango做的网站怎么用/小米的推广软文
  • 动态网站结构/seo中国官网
  • 建筑工程网站建设方案/seo模板建站
  • 北京做网站好的公司/关键词长尾词优化
  • 甘肃省兰州市城乡建设厅网站/成都计算机培训机构排名前十
  • 【运维部署篇】OpenShift:企业级容器应用平台全面解析
  • Spring AI 系列之三十六 - Spring AI Alibaba-nl2sql
  • 【springcloud的配置文件不生效】
  • 攻击实验(ARP欺骗、MAC攻击、报文洪水攻击、DNS欺骗)
  • 【09】C++实战篇——C++ 生成静态库.lib 及 C++调用lib,及实际项目中的使用技巧
  • 从 0 到 1 开发图书管理系统:飞算 JavaAI 让技术落地更简单