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

​力扣解法汇总1026. 节点与其祖先之间的最大差值

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V = |A.val - B.val|,且 A 是 B 的祖先。

(如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B 的祖先)

示例 1:

输入:root = [8,3,10,1,6,null,14,null,null,4,7,13]
输出:7
解释: 
我们有大量的节点与其祖先的差值,其中一些如下:
|8 - 3| = 5
|3 - 7| = 4
|8 - 1| = 7
|10 - 13| = 3
在所有可能的差值中,最大值 7 由 |8 - 1| = 7 得出。

示例 2:

输入:root = [1,null,2,null,0,3]
输出:3

提示:

  • 树中的节点数在 2 到 5000 之间。
  • 0 <= Node.val <= 105

解题思路:

* 解题思路:
* 动态规划的思路,每次计算时,传入之前的最大最小值,和当前值计算差值。
* 然后更新最大最小值,继续遍历其左右节点。
 

代码:

public class Solution1026 {int maxAbs = 0;public int maxAncestorDiff(TreeNode root) {search(root.left, root.val, root.val);search(root.right, root.val, root.val);return maxAbs;}private void search(TreeNode root, int max, int min) {if (root == null) {return;}int abs = Math.max(Math.abs(max - root.val), Math.abs(min - root.val));maxAbs = Math.max(abs, maxAbs);max = Math.max(root.val, max);min = Math.min(root.val, min);search(root.left, max, min);search(root.right, max, min);}
}

http://www.lryc.cn/news/59711.html

相关文章:

  • 010:Mapbox GL移动鼠标mousemove,显示坐标信息
  • 【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
  • 百度暑期实习 C++ 一面
  • 计算机网络第一章(概述)【湖科大教书匠】
  • 【JS】vis.js使用之vis-timeline使用攻略,vis-timeline在vue3中实现时间轴、甘特图
  • 机器学习——数据处理
  • 多种文字翻译软件-翻译常用软件
  • Baumer工业相机堡盟工业相机如何通过BGAPI SDK将相机图像数据用二进制的方式保存到本地(C++)
  • JavaScript模块的导出和导入之export和module.exports的区别
  • 基于朴素贝叶斯分类器的钞票真伪识别模型
  • 【Python】【进阶篇】二十二、Python爬虫的BS4解析库
  • UDS统一诊断服务【五】诊断仪在线0X3E服务
  • 我的创作纪念日:Unity CEO表示生成式AI将是Unity近期发展重点,发布神秘影片预告
  • 秩亏自由网平差的直接解法
  • 大数据开发必备面试题Spark篇合集
  • C ++匿名函数:揭开C++ Lambda表达式的神秘面纱
  • AOP使用场景记录总结(缓慢补充更新中)
  • FPGA基于XDMA实现PCIE X4的HDMI视频采集 提供工程源码和QT上位机程序和技术支持
  • ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析
  • 怎么找回回收站里已经删除的文件
  • Spring Boot、Cloud、Alibaba 版本说明
  • 软件测试入门第一步:编写测试报告
  • 【Vue】vue中的路由导航守卫(路由的生命周期)
  • NumPy 基础知识 :6~10
  • 实现vue的条件渲染
  • 第四章 word2vec 的高速化
  • 【四】3D Object Model之创建Creation——clear_object_model_3d()/copy_object_model_3d()算子
  • 第三十一章 配置镜像 - 删除镜像成员时删除镜像数据库属性
  • 自动写作ai-自动写作神器
  • P1368 【模板】最小表示法(SAM 求最小循环移位)