LeetCode543题:二叉树的直径(python3)

代码思路:
先递归调用左儿子和右儿子求得它们为根的子树的深度 L和 R ,则该节点为根的子树的深度即为max(L,R)+1。该节点的 dnode值为L+R+1
递归搜索每个节点并设一个全局变量 ans记录 dnode的最大值,最后返回 ans-1 即为树的直径。
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int:self.ans = 1def depth(node):# 访问到空节点了,返回0if not node: return 0 # 左儿子为根的子树的深度L = depth(node.left) # 右儿子为根的子树的深度R = depth(node.right)# 计算d_node即L+R+1 并更新ansself.ans = max(self.ans,L+R+1)# 返回该节点为根的子树的深度return max(L,R)+1 depth(root)return self.ans-1相关文章:
LeetCode543题:二叉树的直径(python3)
代码思路: 先递归调用左儿子和右儿子求得它们为根的子树的深度 L和 R ,则该节点为根的子树的深度即为max(L,R)1。该节点的 dnode值为LR1 递归搜索每个节点并设一个全局变量 ans记录 dnode的最大值,最后返回 ans-1 即为树的直径。 # Definit…...
zabbix 7.0编译部署教程
zabbix 7.0编译部署教程 2024-03-08 16:50乐维社区 zabbix7.0 alpha版本、beta版本已经陆续发布,Zabbix7.0 LTS版本发布时间也越来越近。据了解,新的版本在性能提升、架构优化等新功能方面有非常亮眼的表现,不少小伙伴对此也已经跃跃欲试。心…...
Oracle Linux 8.9 安装 Python 3.11.8 和 Miniconda
Oracle Linux 8.9 安装 Python 3.11.8 和 Miniconda 1. 安装 Python 3.11.82. 安装 Miniconda 1. 安装 Python 3.11.8 Update system, sudo dnf update -yInstall Library, sudo dnf install curl gcc openssl-devel bzip2-devel libffi-devel zlib-devel wget make git -yI…...
Docker 配置阿里云镜像加速器
一、首先需要创建一个阿里云账号 二、登录阿里云账号 三、进入控制台 四、搜索容器镜像服务,并选择 五、选择镜像工具中的镜像加速 六 、配置镜像源 注意:有/etc/docker文件夹的直接从第二个命令开始...
[Linux][CentOs][Mysql]基于Linux-CentOs7.9系统安装并配置开机自启Mysql-8.0.28数据库
目录 一、准备工作:获取安装包和相应工具 (一)所需安装包 (二)安装包下载链接 (三)在服务器上创建文件夹并上传安装包 二、安装MySql (一)删除系统自带的mariadb …...
实用指南!2024年度计划怎么写?工作学习必备!
在新的一年开始之际,制定一份详细而实用的年度计划对于实现个人和职业目标至关重要。无论是在工作、学习还是生活中,一个明确的计划可以帮助你更好地组织时间、资源和精力,从而更有效地实现目标。下面是一个关于如何写年度计划的指南…...
js的事件有哪些?
鼠标事件: 鼠标事件 触发条件 onclick 鼠标点击左键触发 oncontextmenu 鼠标点击右键触发 ondblclick 鼠标双击触发 onmouseover 鼠标经过触发 onmouseout 鼠标离开触发 onmousemove 鼠标移动触发 onmouseup 鼠标弹起触发 onmousedown 鼠标按下触发 键盘事…...
Mock.js 基本语法与应用笔记
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
vue从零到一创建项目?
创建一个Vue项目通常需要经过以下步骤,从零开始构建一个基本的Vue项目: 步骤一:安装Node.js和npm 下载安装Node.js: 在Node.js官网下载适合你操作系统的Node.js安装包,并按照提示进行安装。安装完Node.js后ÿ…...
安装PyTorch详细过程
安装anaconda 登录anaconda的官网下载,anaconda是一个集成的工具软件不需要我们再次下载。anaconda官网 跳转到这个页面如果你的Python版本正好是3.8版,那便可以直接根据系统去选择自己相应的下载版本就可以了。 但是如果你的Python版本号不是当前页面…...
使用Rust开发小型搜索引擎
一、概述 用Rust创建搜索引擎是探索该语言在性能和安全性方面具有优势的绝佳方式。 这个项目将索引和搜索概念转移到Rust的生态系统中,由于Rust独特的语法和范式,这是一个挑战,但也是有益的。 二、构建搜索引擎 步骤1,创建项目…...
2024.3.13
1.顺序表去重 代码: //顺序表去重 void dele(seq_p L) {if(LNULL){printf("入参为空,请检查\n");return;}for(int i0;i<L->len-1;i){for(int ji1;j<L->len;j){if(L->data[i]L->data[j]){dele_data(L,L->data[j]);j--;}…...
schedule() , schedule_work() 以及schedule_timeout_interruptible()区别
schedule() 和 schedule_work() 是 Linux 内核中用于任务调度的两个函数,它们的作用和使用场景有所不同。 schedule() 函数: * 作用:将当前任务放入睡眠状态并调度其他可运行任务的函数。当调用 schedule() 时,当前任务会放弃 CPU…...
AWS入门实践-AWS CLI工具的使用介绍
AWS CLI(Amazon Web Services Command Line Interface)是一个强大的工具,它允许您直接从命令行与AWS服务进行交互。这不仅可以加快许多任务的处理速度,而且还可以通过脚本自动化。 一、AWS CLI工具的安装 1、Windows 安装下载…...
Xterminal:未来的终端体验
✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…...
“光谱视界革新:ChatGPT在成像光谱遥感中的智能革命“
遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用,人工智能…...
Docker Register 搭建私有镜像仓库
1 安装 docker (1)更新软件源 sudo apt update (2)安装 docker 组件 sudo apt install docker.io (3)启动 docker 服务 sudo systemctl start docker (4)设置 docker 服务开机自启动 sudo systemctl enable docker (5)验证 docker 功能 sudo docker contai…...
蓝桥杯真题讲解:三国游戏(贪心)
蓝桥杯真题讲解:三国游戏(贪心) 一、视频讲解二、正解代码 一、视频讲解 蓝桥杯真题讲解:三国游戏(贪心) 二、正解代码 //三国游戏:贪心 #include<bits/stdc.h> #define int long lon…...
docker之自己制作jdk镜像
一,下载想要制作的镜像的对应jdk(自行下载),本文使用jdk17(因为自己的springboot项目时在jdk17下开发的,悲!!!,再加上没有在官网上找到对应镜像,只…...
基于SpringBoot的农产品特色供销系统(蔬菜商城)
基于SpringBoot的农产品特色供销系统(蔬菜商城) 系统介绍 该系统使用Java、MySQL、Redis、Spring Boot和HTML等技术作为系统的技术支撑,实现了以下功能模块: (1)后台管理模块,包括权限、日志、…...
Graphormer模型推理加速:利用.accelerate库优化计算性能
Graphormer模型推理加速:利用.accelerate库优化计算性能 1. 引言:为什么需要加速Graphormer推理 Graphormer作为图神经网络领域的重要突破,在分子属性预测、药物发现等任务中展现出强大能力。但随着分子库规模扩大,推理速度成为…...
Jimeng LoRA惊艳效果:同一LoRA版本在不同seed下风格稳定性测评
Jimeng LoRA惊艳效果:同一LoRA版本在不同seed下风格稳定性测评 1. 项目简介 今天我们来聊聊一个很有意思的话题:同一个LoRA模型,用不同的随机种子(seed)生成图片,它的风格到底稳不稳定? 为了…...
MogFace人脸检测工具实测:16GB显存下支持最高4096×2160分辨率单图检测
MogFace人脸检测工具实测:16GB显存下支持最高40962160分辨率单图检测 1. 引言:当高清图片遇上精准人脸检测 你有没有遇到过这样的场景?拿到一张几千人合影的高清大图,想快速找出某个特定人物,或者需要从监控录像的4K…...
HarmonyOS ArkTS开发实战:用Axios封装一个带拦截器的网络请求工具类
HarmonyOS ArkTS实战:构建企业级Axios网络请求工具库 在HarmonyOS应用开发中,网络请求作为数据交互的核心通道,其稳定性和可维护性直接影响应用质量。本文将带你从零构建一个支持Token自动刷新、错误统一处理的Axios企业级封装库,…...
百川2-13B量化模型提示工程:降低OpenClaw操作失误率
百川2-13B量化模型提示工程:降低OpenClaw操作失误率 1. 问题背景与挑战 去年冬天,当我第一次尝试用OpenClaw自动化整理电脑上积压的半年项目文档时,遭遇了令人崩溃的"AI灾难现场"——这个本该帮我分类归档的助手,把财…...
Win11新机Office2021兑换失败?解决老账号Office2016冲突的完整指南
1. 为什么新电脑无法兑换Office2021? 刚拿到Win11新机的小伙伴们,经常会遇到一个让人头疼的问题:明明新电脑预装了Office2021,打开Word却发现显示"Office2016已激活"。这种情况我遇到过不下十次,每次帮朋友处…...
实战指南,基于快马平台快速构建用于工业质检的yolo缺陷检测系统
今天想和大家分享一个很实用的工业质检项目实战经验——基于YOLO模型快速搭建零件缺陷检测系统。这个项目特别适合需要快速验证算法效果的场景,我在InsCode(快马)平台上只用半天就完成了从原型到部署的全流程。 项目背景与需求分析 工业质检对精度和实时性要求很高&…...
Agent Skill 按需加载:架构设计与实现解析
❝当 AI Agent 需要的知识越来越多,把一切都塞进 System Prompt 显然不是个好主意。本文从架构设计的角度出发,深入探讨一种优雅的解法——「Skill 渐进式加载机制」。❞一、问题:当 Agent 需要"十八般武艺"构建一个功能丰富的 AI …...
电子设计竞赛:坡道行驶电动小车设计与实现
1. 四川省电子设计竞赛一等奖作品解析:坡道行驶电动小车去年参加四川省电子设计竞赛时,我们团队选择了C题"坡道行驶电动小车"这个看似简单实则暗藏玄机的题目。经过72小时的连续奋战,最终拿下一等奖。今天就把这个项目的完整实现方…...
场效应管MOS
场效应管 场效应管又称场效应晶体管(Field Effect Transistor,缩写为FET),它与三极管一样,具有放大能力。场效应管有漏极(D极)、栅极(G极)和源极(S极…...
