LeetCode Hot100 543.二叉树的直径
题目:
给你一棵二叉树的根节点,返回该树的 直径 。
二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的 长度 由它们之间边数表示。
方法:灵神

代码:
class Solution {private int ans;public int diameterOfBinaryTree(TreeNode root) {dfs(root);return ans;}private int dfs(TreeNode node) {if (node == null)return -1; // 下面 +1 后,对于叶子节点就刚好是 0int lLen = dfs(node.left) + 1; // 左子树最大链长+1int rLen = dfs(node.right) + 1; // 右子树最大链长+1ans = Math.max(ans, lLen + rLen); // 两条链拼成路径return Math.max(lLen, rLen); // 当前子树最大链长}
}

相关文章:
LeetCode Hot100 543.二叉树的直径
题目: 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 方法:灵神 代码: …...
Breadcrumb面包屑(antd-design组件库)简单用法和自定义分隔符
1.Breadcrumb面包屑 显示当前页面在系统层级结构中的位置,并能向上返回。 2.何时使用 当系统拥有超过两级以上的层级结构时; 当需要告知用户『你在哪里』时; 当需要向上导航的功能时。 组件代码来自: 面包屑 Breadcrumb - Ant Des…...
Mybatis 源码搭建
文章目录 源码下载测试模块搭建学习博客 源码下载 首先下载mybatis-parent的源码:gitee地址 > https://gitee.com/callback_lab/mybatis-parent.git 然后下载mybatis的源码:gitee地址 > https://gitee.com/callback_lab/mybatis-src.git 带中文…...
shell编程系列(5)-函数的定义
文章目录 前言函数定义处理函数参数通过getopts接收参数 前言 函数是编程语言中最重要的部分之一,虽然在shell脚本中并不是必须的,但是函数可以提高代码的复用性和可读性,当我们编写稍微复杂的脚本时,函数就是一个好帮手…...
鸿蒙应用开发-初见:入门知识、应用模型
基础知识 Stage模型应用程序包结构 开发并打包完成后的App的程序包结构如图 开发者通过DevEco Studio把应用程序编译为一个或者多个.hap后缀的文件,即HAP一个应用中的.hap文件合在一起称为一个Bundle,bundleName是应用的唯一标识 需要特别说明的是&…...
通过测试驱动开发(TDD)的方式开发Web项目
最近在看一本书《Test-Driven Development with Python》,里面非常详细的介绍了如何一步一步通过测试驱动开发(TDD)的方式开发Web项目。刚好这本书中使用了我之前所了解的一些技术,Django、selenium、unittest等。所以,读下来受益匪浅。 我相…...
技巧-PyCharm中Debug和Run对训练的影响和实验测试
简介 在训练深度学习模型时,使用PyCharm的Debug模式和Run模式对训练模型的耗时会有一些区别。 Debug模式:Debug模式在训练模型时,会对每一行代码进行监视,这使得CPU的利用率相对较高。由于需要逐步执行、断点调试、查看变量值等操…...
【古月居《ros入门21讲》学习笔记】07_创建工作空间和功能包
目录 说明: 1. 工作空间(workspace) 结构: 2. 创建工作空间和功能包 创建工作空间 编译工作空间 创建功能包 设置环境变量 3. 注意 同一个工作空间下,不能存在同名的功能包; 不同工作空间下,可以存在同名的功…...
第20章多线程
20.1线程简介 Windows操作系统是多任务操作系统,它以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程。也就是说每个正在执行的程序都是一个进程。系统可以分配给每一个进程有一段有限的使用CPU的时间(也可以称…...
深信服防火墙设置应用控制策略(菜鸟必看)
PS:前几天发布了关于深信服防火墙路由部署的流程:深信服防火墙路由模式开局部署-手把手教学(小白篇)-CSDN博客 昨天晚上有csdn的朋友联系我,说有一个关于ACL访问的问题要帮忙看一下 解决了以后,写个大概的…...
解锁 ElasticJob 云原生实践的难题
发生了什么 最近在逛 ElasticJob 官方社区时发现很多小伙伴都在头疼这个 ElasticJob 上云的问题,ElasticJob 本就号称分布式弹性任务调度框架,怎么在云原生环境就有了问题了呢,这就要从 Kubenertes 和 ElasticJob 的一些状态化说起。 有意思的…...
鸿蒙开发已成新趋势
随着华为鸿蒙操作系统的快速崭露头角,鸿蒙开发已然成为当前技术领域的热门新趋势。本文将深入探讨鸿蒙开发的重要性和独特优势,并详细介绍一些关键的鸿蒙开发技术和工具,以及它们对开发者个人和整个行业带来的深远影响。 首先,鸿蒙…...
万人拼团团购小程序源码系统+拼团设置+拼团管理 附带完整的搭建教程
随着互联网的快速发展,电子商务和社交电商的兴起,团购作为一种高效的营销策略和消费方式,受到了广大消费者的热烈欢迎。在此背景下,我们开发了一款基于微信小程序的万人拼团团购系统,旨在为用户提供一种更加便捷、高效…...
软信天成:速看!云端混合数据管理的最佳解决方案
智能时代,互联网、云计算和大数据的应用日益广泛,越来越多的企业将核心IT基础架构迁移至云上,以加速实现企业数字化转型,提高商业用户创新的可能性, 使 IT 变得更加灵活。 各个行业也正在进行从依赖本地系统到混合或云…...
GO 集成Prometheus
一、Prometheus介绍 Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便…...
ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO
ESP32-Web-Server 实战编程-通过网页控制设备的 GPIO 概述 前述博客讲解了 Web 编程的基本知识,包括 HTML、CSS、JavaScript 三个部分,从这节开始,我们进入实战部分,在实际项目中进一步学习 ESP32-Web 编程。 GPIO (…...
Springboot 中 指定 AspectJ 的织入模式
在Spring Boot中,AspectJ的织入模式可以通过以下两种方式进行明确指定: 使用配置文件(application.properties或application.yml):在Spring Boot的配置文件中,可以添加以下属性来指定AspectJ的织入模式&am…...
【.NET全栈】.net的微软API接口与.NET框架源码
文章目录 0 前言1 微软官方.net接口学习2 .NET框架源码总结 0 前言 如果浏览器打不开链接,换一个浏览器打开。 我是 打不开微软的链接,使用: 可以打开!!! 1 微软官方.net接口学习 https://docs.microsoft…...
【深度学习】基于深度学习的超分辨率图像技术一览
超分辨率(Super-Resolution)即通过硬件或软件的方法提高原有图像的分辨率,图像超分辨率是计算机视觉和图像处理领域一个非常重要的研究问题,在医疗图像分析、生物特征识别、视频监控与安全等实际场景中有着广泛的应用。 SR取得了显著进步。一般可以将现有…...
Android12强制所有应用跟随gsensor旋转
前言 Android12系统中如果机器带gsensor,竖屏应用如果固定了竖屏,当机器旋转为横屏,竖屏应用是不会转到横屏显示的,还是竖屏显示。抖音这种app就是这样的。因为app里面manifest文件中通过android:screenOrientation固定住了竖屏显示。如果要让横屏的时候app也能够横屏显示,…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
