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

lc1026-节点与其祖先之间的最大差值

题目描述

  • 给定一棵二叉树,找到最大的“节点与其祖先节点的差值的绝对值”

示例

输入:root = [8,3,10,1,6,null,14,null,null,4,7,13]
输出:7
解释:8/ \3   10/ \    \
1   6    14/ \   /4   7 13|8 - 1| = 7
输入:root = [1,null,2,null,0,3]
输出:3
解释:1\2\0/3|0 - 3| = 3

题解

  • 思路:dfs
    • 每层计算一下和当前节点的值与上面的最大值、最小值的“绝对差值”
    • 每层都要更新最大值、最小值
func maxAncestorDiff(root *TreeNode) int {v := root.Valreturn max(dfs(root.Left, v, v), dfs(root.Right, v, v))
}func dfs(p *TreeNode, minv, maxv int) int {if p == nil { return -1 }v := p.Valres := max(myabs(v - minv), myabs(v - maxv))minv, maxv = min(minv, v), max(maxv, v)return max(res, dfs(p.Left, minv, maxv), dfs(p.Right, minv, maxv))
}func myabs(x int) int {if x < 0 { x *= -1 }return x
}
http://www.wxhsa.cn/company.asp?id=3004

相关文章:

  • 如何绕过谷歌反爬策略爬取搜索结果
  • 求细胞数量
  • [SSL]
  • Rust 生命周期详解 - 实践
  • 笔记《机器人动力学理论及其应用》上交桂凯博士-中科深谷机器人大讲堂第10期
  • [豪の学习笔记] 软考中级备考 基础复习#9
  • Shiro概述 - 详解
  • 2025CCPC南昌邀请赛游记
  • 双因素认证暴力破解绕过技术解析(2023更新版)
  • 文本三剑客
  • 软件工程第二次作业-个人项目
  • Git 分支
  • 用 Go 打造一个服务器资源指标采集器:结合 Prometheus Exporter 实战
  • 2025年API安全建设方案最佳实践:七步五方法
  • 【数学】拉格朗日乘数法
  • 华为芯片之父,33年默默开拓,铸就“中国芯”,功成身退时却鲜有人知!
  • Redis为什么适合做分布式锁? - 浪矢
  • 百度昆仑芯高调出圈:对标寒武纪,估值或达千亿港元?
  • WPS 定制版
  • 2024年以来,数学领域已有多位在国外顶尖高校取得终身教职的学者回国
  • 685.冗余连接
  • form表单和表单控件
  • 阿里云OSS图片生成缩略图和获取视频的封面方法
  • VSCode 运行 Python
  • [mysql] 卸载
  • 树上问题
  • 突发!美国将复旦微等23家中国实体列入“实体清单”
  • [GenAI] Function Calling
  • form表单
  • 【Zotero7】使用Attanger和百度同步空间如何进行同步?