​LeetCode解法汇总1448. 统计二叉树中好节点的数目

news2024/5/18 18:29:16

目录链接:

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

GitHub同步刷题项目:

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

原题链接:

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台


描述:

给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。

「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。

示例 1:

输入:root = [3,1,4,3,null,1,5]
输出:4
解释:图中蓝色节点为好节点。
根节点 (3) 永远是个好节点。
节点 4 -> (3,4) 是路径中的最大值。
节点 5 -> (3,4,5) 是路径中的最大值。
节点 3 -> (3,1,3) 是路径中的最大值。

示例 2:

输入:root = [3,3,null,4,2]
输出:3
解释:节点 2 -> (3, 3, 2) 不是好节点,因为 "3" 比它大。

示例 3:

输入:root = [1]
输出:1
解释:根节点是好节点。

提示:

  • 二叉树中节点数目范围是 [1, 10^5] 。
  • 每个节点权值的范围是 [-10^4, 10^4] 。

解题思路:

* 解题思路:

* 动态规划的方式解决,每个节点,输入值为当前节点和这个节点之前的最大值max。

* 递归方法中,如果当前节点大于max,则数量+1并且更新max。

* 然后递归去尝试其左右节点

代码:

class Solution1448
{
public:
    int goodNodes(TreeNode *root)
    {
        return searchGoodNodes(root, -10000);
    }

    int searchGoodNodes(TreeNode *node, int max)
    {
        if (node == nullptr)
        {
            return 0;
        }
        int num = 0;
        if (node->val >= max)
        {
            num++;
            max = node->val;
        }
        return num + searchGoodNodes(node->left, max) + searchGoodNodes(node->right, max);
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/947750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

初识Java 3-1 控制流

目录 if-else语句 迭代语句 for循环 for-in语法 return break和continue 标签机制 switch 本笔记参考自: 《On Java 中文版》 Java不允许将数字作为布尔值使用,若需要在一些条件语句中使用一个非布尔值,比如if(a),那么就需…

美团北极星榜单,服务零售的医美新样本

事实证明,任何时候,人们对美的追求都是刚需,只是有时候被压抑了。 德勤中国的《中国医美行业2023年度洞悉报告》(以下简称“报告”)显示,中国医美市场规模预计在2023年超过2000亿元,实现20%增速…

残差网络、Dropout正则化、Batch Normalization浅了解

残差网络: 为什么需要残差网络: 残差网络的目的是为了解决深度神经网络在训练过程中遇到的退化问题,即随着网络层数的增加,训练集的误差反而增大,而不是过拟合。残差网络的优点有以下几点: 残差网络可以…

上门服务系统|上门服务软件开发|上门服务改善生活质量的便捷之选

随着现代生活的快节奏和社交距离的需求,我们越来越渴望能够以更便捷、高效的方式获得我们所需的服务。为了满足这一需求,我们公司开发了一款创新的上门服务系统,旨在将便利与质量相结合,为您提供无与伦比的体验。 无论您是忙碌的白…

惠普NS1020激光打印机碳粉警告提示及添加碳粉方法

本文也适用于惠普NS1020、1020c 和 1020w 系列打印机。 通过碳粉量指示灯检查碳粉量。 如果碳粉量是满的或指示器显示 1,可选择添加一个碳粉或者忽略不添加。如果碳粉量指示灯显示 2或 2 和碳粉量警告感叹号图标 ,则表示碳粉量不足或严重不足&#xff0…

ORACEL 账户被锁定、无监听

现象1:oracle数据库账号被锁定 OA页面情况:OA系统可以正常登录,但是表单查不出数据 PL SQL 连接情况:有明确的提示,oracle账号被锁。 Tomcat控制台情况:有明确提示账号被锁 解决办法 在命令行中输入就可…

批量身份证图片转Excel,核验真伪,保留头像,只需一款软件

你是否曾经遇到过需要将大量员工的身份证图片转化为Excel表格的情况?这种情况可能会让你感到无从下手。但是,现在有了金鸣表格文字识别电脑客户端,一切都将变得轻松便捷。 首先,你只需要前往金鸣识别官网下载并安装金鸣表格文字识…

企业网络设备监控工具

如今,组织在运营业务方面面临着日益激烈的竞争和日益复杂的问题,在这种情况下,拥有以最高效率运行的网络基础设施不再是奢侈品。相反,对于任何希望在各自领域成为领跑者的组织来说,这是必要的。网络基础设施中每个网络…

python爬虫14:总结

python爬虫14:总结 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好…

查看edge浏览器插件的安装位置

C:\Users\zhang\AppData\Local\Microsoft\Edge\User Data\Default\Extensions 这是我的目录,把中间的的替换成你的电脑用户名就可以了 你也可以先输入目录的部分名称,下拉找对应的目录

docker部署前端项目保姆级教程

本地启动docker(有不会启动的吗?下载docker(小海豚)双击起来就行) 准备阿里云账号(免费) 没有就去注册一个,记住密码后面要用到 官网地址:阿里云登录 - 欢迎登录阿里云…

基于OpenCV+LPR模型端对端智能车牌识别——深度学习和目标检测算法应用(含Python+Andriod全部工程源码)+CCPD数据集

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境OpenCV环境Android环境1. 开发软件和开发包2. JDK设置3. NDK设置 模块实现1. 数据预处理2. 模型训练1)训练级联分类器2)训练无分割车牌字符识别模型 3. APP构建1)导入OpenCV库…

SAP_ABAP_OLE_EXCEL批导案例

SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、OLE_EXCEL批导 1.1 下载按钮 1.2 选择EXCEL上传,解析EXCLE数据, Call屏幕。 1.3 实现效果 1.4…

git学习笔记 | 版本管理 - 分支管理 - 常见场景

文章目录 git学习笔记Git是什么仓库常见的命令commit 备注规范在文件下设置git忽略文件 .gitignore 版本管理git log | git reflog 查看提交日志/历史版本版本穿梭 git resetgit reset HEAD <file> git checkout -- fileName 丢弃工作区的修改git revertGit恢复之前版本的…

IP对讲终端SV-6005带一路2×15W或1*30W立体声做广播使用

IP对讲终端SV-6005双按键是一款采用了ARMDSP架构&#xff0c;接收网络音频流&#xff0c;实时解码播放&#xff1b;配置了麦克风输入和扬声器输出&#xff0c;SV-6005带两路寻呼按键&#xff0c;可实现对讲、广播等功能&#xff0c;作为网络数字广播的播放终端&#xff0c;主要…

《孤注一掷》背后的技术对抗

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 朱峰 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦midjourney 产品统筹 / bobo 录音间 / 声湃轩北京站 这两天主播们都看完了《孤注一掷》&#xff0c;抛开剧情里面的细节不讲&#xff0c;这部“反诈宣传片”给了大家…

从C过渡到C ++的3个理由

几十年来&#xff0c;嵌入式软件工程师之间一直在争论他们应该使用C还是C 。根据2020年嵌入式市场调查&#xff0c;在大多数情况下&#xff0c;微控制器制造商提供的软件都以C语言提供&#xff0c;实际上&#xff0c;有56&#xff05;的嵌入式软件是用C语言编写的。但是&#x…

基于社交网络算法优化的BP神经网络(预测应用) - 附代码

基于社交网络算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于社交网络算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.社交网络优化BP神经网络2.1 BP神经网络参数设置2.2 社交网络算法应用 4.测试结果&#xff1a;5…

显示GPU进程所属docker 容器

一台服务器&#xff0c;每个人在上面run一个容器&#xff0c;跑各自的代码&#xff0c;虽然通过nvidia-smi可以看到每个进程占用的GPU&#xff0c;但是不好找进程对应的容器id&#xff0c;就没法确认到底是谁占用了较多GPU。 常规操作 通过 nvidia-smi 查看进程占用GPU情况&a…

[C/C++]指针详讲-让你不在害怕指针

个人主页&#xff1a;北海 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C/C&#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论区留言指正&#xff0c;大家一起学习交流&#xff01;&#x1f9…