LeetCode 543:巧解二叉树直径问题
LeetCode543给你一棵二叉树的根节点返回该树的直径。二叉树的直径是指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点root。两节点之间路径的长度由它们之间边数表示。示例输入root [1,2,3,4,5]输出3解释3 取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。Python解法# Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution: def diameterOfBinaryTree(self, root: Optional[TreeNode]) - int: max_len 0 def dfs(node): nonlocal max_len if not node: return 0 left_depth dfs(node.left) right_depth dfs(node.right) max_len max(max_len, left_depth right_depth) return max(left_depth, right_depth) 1 dfs(root) return max_lenJava解法class Solution { int max 0; public int diameterOfBinaryTree(TreeNode root) { dfs(root); return max; } int dfs(TreeNode node) { if(node null) return 0; int left dfs(node.left); int right dfs(node.right); max Math.max(max, left right); return Math.max(left, right) 1; } }C解法class Solution { public: int max_len 0; int diameterOfBinaryTree(TreeNode* root) { dfs(root); return max_len; } int dfs(TreeNode* node) { if(!node) return 0; int left dfs(node-left); int right dfs(node-right); max_len max(max_len, left right); return max(left, right) 1; } };

相关新闻

VPDMA配置实战:从描述符列表到YUV格式处理的嵌入式视频数据搬运

VPDMA配置实战:从描述符列表到YUV格式处理的嵌入式视频数据搬运

1. 项目概述:VPDMA在HDVPSS中的核心角色在嵌入式视频处理系统里,数据搬运的效率直接决定了整个流水线的性能上限。当你在处理1080p60fps甚至4K的视频流时,CPU如果被频繁地用于在内存和各个视频处理IP(如缩放器、去隔行器、色彩空间…

2026/10/19 13:39:43 阅读更多 →
LeetCode 538:二叉搜索树转换为累加树

LeetCode 538:二叉搜索树转换为累加树

LeetCode538给出二叉 搜索 树的根节点 root,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),将其转换为一个更大的树,使得原始二叉搜索树中的每个节点值都变为原本值加上原本二叉搜索树中所…

2026/10/19 17:09:15 阅读更多 →
嵌入式PRCM模块配置实战:电源时钟复位管理原理与调试指南

嵌入式PRCM模块配置实战:电源时钟复位管理原理与调试指南

1. 项目概述:PRCM模块在嵌入式系统设计中的核心地位在嵌入式系统,尤其是复杂的片上系统(SoC)设计中,功耗、稳定性和实时性往往是工程师需要反复权衡的“不可能三角”。一个高性能的处理器,如果其所有模块在…

2026/10/18 14:21:59 阅读更多 →

最新新闻

Gemini 3 超参数调优全攻略:从学习率到 LoRA 的关键配置

Gemini 3 超参数调优全攻略:从学习率到 LoRA 的关键配置

先说一个反直觉的结论:Gemini 3 的超参数设置,最忌讳的就是把上一个开源模型的训练配置直接搬过来改两笔就跑。我接手这个项目的头一周,干的就是这种图省事的活,结果 loss 曲线像过山车,白天训着训着变 NaN&#xff0c…

2026/10/19 17:09:32 阅读更多 →
停车场车位识别实战:从YOLO模型训练到边缘部署的完整方案

停车场车位识别实战:从YOLO模型训练到边缘部署的完整方案

停车场车位识别这个项目,我在真实场景里前后折腾了快两个月。从最开始用摄像头对着空荡荡的地面拍照,到后来在阴雨天、夜间、被挡了一半车头的复杂工况下还能稳定输出空位状态,中间踩过的坑确实不少。这篇文章就把我这套完整方案从数据、模型…

2026/10/19 17:09:32 阅读更多 →
开源代码审查工作流实践:从流程设计到工具落地

开源代码审查工作流实践:从流程设计到工具落地

做开发这些年,我有个深切的感触:代码审查这事儿,很多团队知道它重要,却不知道怎么把它做对。有人把审查当成形式主义,合并前点个“同意”就完事;有人把审查变成流水席,几个老哥对着几百行改动从…

2026/10/19 17:09:32 阅读更多 →
FPGA自动售货机设计:基于Verilog状态机的完整工程拆解

FPGA自动售货机设计:基于Verilog状态机的完整工程拆解

简介:东南大学信息学院短学期数字系统设计课程配套源代码,主题为基于FPGA的自动售货机。项目在Xilinx ISE平台下用Verilog/VHDL语言实现,涵盖货币识别、商品选择、找零计算、库存管理等核心模块,适合高校本科生与研究生作为课程设…

2026/10/19 17:09:32 阅读更多 →
STM32F103 DAC音频输出实验:从波形可控到参数可算的完整方案

STM32F103 DAC音频输出实验:从波形可控到参数可算的完整方案

简介:这份资源面向嵌入式开发初学者与STM32学习者,围绕STM32F103ZET6内置12位DAC实现音频输出这一实验展开,帮助读者理解数字信号到模拟电压的转换过程,并完成从WAV音频数据到扬声器发声的完整链路。压缩包共181个文件&#xff0c…

2026/10/19 17:09:32 阅读更多 →
open-code-review:基于 Git Diff 的可审计 AI 代码审查协议

open-code-review:基于 Git Diff 的可审计 AI 代码审查协议

1. 这不是又一个“AI代码审查”玩具:open-code-review 的真实定位与设计哲学你搜过“open-code-review”这个词,大概率会撞上一堆模糊的 GitHub 仓库、半成品 CLI 工具、或者某篇标题党文章里写着“用 LLM 彻底取代 Code Review”。但实话讲——我去年在…

2026/10/19 17:08:28 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →