news 2026/5/1 11:33:26

0x3f 第35天 电脑硬盘坏了 +二叉树直径,将有序数组转换为二叉搜索树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
0x3f 第35天 电脑硬盘坏了 +二叉树直径,将有序数组转换为二叉搜索树

九点多电脑还好好的,突然蓝屏了,自己修了半天无果,打电话叫修电脑的,头天晚上电动车还坏了,后面轮胎瘪了,简直就是祸不单行,先去把轮胎修了,然后等着修电脑的来,检查完说电脑硬盘用久了坏了,c盘d盘用不了了,还好大部分研究生期间数据都在e盘,把e盘取出来,换了台主机,基本上一台全新的电脑,啥都得安装。论文的原始数据集还在,但是之前搜的文献啥的,存在c盘的都没了,整理一下大概哪些没了,哪些还在

原始数据集还在
脱敏后的数据集没了得重跑
论文跑的结果没了得重跑
论文代码还在
相关文献没了
苍穹外卖配的所有环境idea,datagrip,mysql,redis,微信小程序开发端,javajdk,nginx前端
苍穹外卖代码还在
心态崩了
工位电脑的微信聊天记录没了

早上十点一直弄到下午五点,把外卖的环境全部有配置好了,还好能继续跑,今天真的心累,

写写算法休息一下吧,唉

长度最小的子数组x问题很大

乘积小于 K 的子数组

x最核心的问题想到了,差点细节
N皇后x整体思路没问题,小细节太久没做忘了
电话号码的字母组合x有点忘了
二叉树的锯齿形层序遍历x基本没大毛病
最长公共子序列x
二叉搜索树的最近公共祖先x

1.二叉树直径

1.核心思路,后序,假设手上拿着当前节点左最长链 ,右最长链,你如何计算最长直径?

ans = max(ans,l_max+r_max+2)

详解公式:以节点5为例,节点5 的左最长链l_max就是节点2 的最长链长度为2

右最长链r_max就是节点6的最长链长度为0

再加上2 ,2就是连接这仨节点的

2.注意ans是不断更新的,所以在使用ans前要nonlocal ans

3.求最长链就和最大深度一样的公式,return max(l_max,r_max)+1

4.注意起始条件

class Solution: def diameterOfBinaryTree(self, root: Optional[TreeNode]) -> int: ans = 0 def dfs(node): if node is None: return -1 lmax = dfs(node.left) rmax = dfs(node.right) nonlocal ans ans = max(ans,lmax+rmax+2) return max(lmax,rmax)+1 dfs(root) return ans

2、将有序数组转换为二叉搜索树

很明显了,变成一个二叉搜索树,那就递归,后序,然后每次处理中间的这个节点呗

为什么每次处理中间的,,这样就实现了二叉搜索树,nums[]已经排序好了,那每次处理nums中间的数字,那不就自动成为了二叉搜索树

边界条件:nums数组被//2 ÷干净了

递归就是left的就是nums[ :middle]

right就是nums[middle+1: ]

class Solution: def sortedArrayToBST(self, nums: List[int]) -> Optional[TreeNode]: if nums ==[]: return None m = (len(nums))//2 left = self.sortedArrayToBST(nums[:m]) right = self.sortedArrayToBST(nums[m+1:]) return TreeNode(nums[m],left,right)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 13:33:12

Emotion2Vec+ Large实战教程:如何用AI识别9种人类情感?代码实例分享

Emotion2Vec Large实战教程:如何用AI识别9种人类情感?代码实例分享 1. 引言 随着人工智能在语音理解领域的不断深入,情感识别(Speech Emotion Recognition, SER)正逐渐成为人机交互系统中的关键能力。传统的语音识别…

作者头像 李华
网站建设 2026/4/10 19:27:29

Qwen3-1.7B实战案例:企业内部知识库问答系统搭建

Qwen3-1.7B实战案例:企业内部知识库问答系统搭建 1. 背景与需求分析 随着企业数字化转型的深入,内部文档、技术手册、项目记录等非结构化数据持续增长。员工在日常工作中频繁面临信息查找效率低、知识孤岛严重等问题。传统的关键词检索方式难以理解语义…

作者头像 李华
网站建设 2026/5/1 0:31:05

虚拟机中安装Multisim14.3可行性分析:全面讲解

在虚拟机里跑 Multisim 14.3,到底行不行?实战经验全解析 你有没有遇到过这种情况:想用 Multisim 14.3 做个电路仿真作业,但学校的电脑装了旧系统,自己的笔记本又不敢随便折腾,生怕装完一堆 NI 软件后系统…

作者头像 李华
网站建设 2026/5/1 9:55:30

嘉立创PCB布线核心要点:元件摆放与走线策略入门

嘉立创PCB布线实战指南:从元件摆放到走线策略,新手也能一次成功 你有没有遇到过这样的情况?电路原理图明明画得没问题,MCU也烧录了程序,但板子一上电就死机、信号乱跳、EMI测试直接挂掉……最后排查半天,发…

作者头像 李华
网站建设 2026/4/16 14:19:01

YOLO26训练数据平衡:解决类别不均衡问题

YOLO26训练数据平衡:解决类别不均衡问题 在目标检测任务中,类别不均衡是影响模型性能的关键因素之一。尤其在使用最新 YOLO26 框架进行训练时,若数据集中某些类别的样本数量远多于其他类别,模型往往会偏向于预测高频类别&#xf…

作者头像 李华
网站建设 2026/5/1 9:56:20

多版本共存时Vivado安装路径如何规划

Vivado多版本共存:如何科学规划安装路径,避免“版本地狱”你有没有遇到过这样的场景?打开一个三年前的FPGA工程,用最新版Vivado一加载,满屏红色警告:“IP核需要升级”——点了“是”,结果整个设…

作者头像 李华