算法-二叉树中的最大路径和
题目:
路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。
路径和 是路径中各节点值的总和。
给你一个二叉树的根节点 root ,返回其 最大路径和 。
输入:root = [1,2,3]
输出:6
解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6
解决算法:
class Solution {int maxSum = Integer.MIN_VALUE;public int maxPathSum(TreeNode root) {maxGain(root);return maxSum;}public int maxGain(TreeNode node) {if (node == null) {return 0;}// 递归计算左右子节点的最大贡献值// 只有在最大贡献值大于 0 时,才会选取对应子节点int leftGain = Math.max(maxGain(node.left), 0);int rightGain = Math.max(maxGain(node.right), 0);// 节点的最大路径和取决于该节点的值与该节点的左右子节点的最大贡献值int priceNewpath = node.val + leftGain + rightGain;// 更新答案maxSum = Math.max(maxSum, priceNewpath);// 返回节点的最大贡献值return node.val + Math.max(leftGain, rightGain);}
}
参考:https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/
算法-二叉树中的最大路径和相关推荐
- [LeetCode]124. 二叉树中的最大路径和(java实现)递归
[LeetCode]124. 二叉树中的最大路径和(java实现)递归 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6. 总 ...
- 124. Binary Tree Maximum Path Sum 二叉树中的最大路径和
Title 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不一定经过根节点. 示例 1: 输入: [1,2,3] 1 ...
- Leetcode 124.二叉树中的最大路径和
124.二叉树中的最大路径和 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不一定经过根节点. 示例 1: 输入: ...
- NC6 二叉树中的最大路径和
这里写自定义目录标题 题目描述 思路 递归 题目描述 寻找二叉树中从任意节点开始的最大不重复路径和 示例: 输入:{1,2,3} 输出:6 原题链接:NC6 二叉树中的最大路径和 思路 拿到这道题第一 ...
- Java实现 LeetCode 124 二叉树中的最大路径和
124. 二叉树中的最大路径和 给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不一定经过根节点. 示例 1: 输入: ...
- 124. 二叉树中的最大路径和
124. 二叉树中的最大路径和: 题目链接 :124. 二叉树中的最大路径和 题目: 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列.同一个节点在一条路径序列中 至多出 ...
- LeetCode实战:二叉树中的最大路径和
背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Given a non ...
- float最大_Hard 级:二叉树中的最大路径和
今天分析的这道题目,是LeetCode上 Hard 级别的一道题目,虽然代码行数只有 10 来行. 一 先来看看题目 给定一个非空二叉树,返回其最大路径和.本题中,路径被定义为一条从树中任意节点出发, ...
- 二叉树中的最大路径和—leetcode124
给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不一定经过根节点. 示例 1: 输入: [1,2,3] 1 ...
最新文章
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- 逐行分析Hadoop的HelloWorld
- Cocos2d-X内存管理研究一
- matlab正弦序列频谱,【求助】正弦信号序列fft频谱分析!!!
- 如何制作可以在 MaxCompute 上使用的 crcmod
- Kullback–Leibler divergence(相对熵,KL距离,KL散度)
- codeforces1497 E. Square-free division(数学+dp)
- std::optional
- Switch View when host XmlFormView in aspx
- 推荐几个编程学习网站,你值得拥有!
- TAOUP初译稿_HOOK
- jupyter notebook误删怎么办
- 数字图像处理基础(3)--图像合成
- 【学习笔记】计算机网络
- 网线、WiFi、路由器的介绍选择
- 两个向量之间的夹角公式_Python 计算任意两向量之间的夹角方法
- 异常: Canonical names should be kebab-case(“-” separated), lowercase......... blablabla
- 51单片机(三)独立按键控制LED
- autojspro常用的代码和公共函数搜集整理,史上最全最完整,不看后悔一辈子
- SolidEdge学生版含Bom表装配图出图指南
热门文章
- html中怎么实现广告自动出来又自动隐藏?,基于jquery实现的定时显示与隐藏div广告的实现代码...
- 8 pycharm 快捷键_Pycharm自动添加文件头注释和函数注释参数
- android 正则表达式3,含有至少3个字符类型的android正则表达式
- python中的class怎么用_对python 中class与变量的使用方法详解
- C++知识点57——类模板(2、类模板的局部特化与默认模板实参)
- C++知识点38——拷贝赋值运算符、析构函数、=default、阻止拷贝和赋值
- C++知识点34——动态内存与智能指针
- go kegg_差异基因的GO与KEGG注释
- 一起来学习 WebRTC (篇一)| 掘金技术征文
- PHP全栈开发(八):CSS Ⅸ dispaly visibility