LeetCode 783. 二叉搜索树结点最小距离(中序遍历)

1. 题目

给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值。

示例:输入: root = [4,2,6,1,3,null,null]
输出: 1
解释:
注意,root是树结点对象(TreeNode object),而不是数组。给定的树 [4,2,6,1,3,null,null] 可表示为下图:4/   \2      6/ \    1   3  最小的差值是 1, 它是节点1和节点2的差值, 也是节点3和节点2的差值。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-distance-between-bst-nodes
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 循环中序遍历 解题

  • 二叉搜索树中序遍历非降,相邻的做差比较,记录最小的差
    在这里插入图片描述
class Solution {
public:int minDiffInBST(TreeNode* root) {int dis = INT_MAX, val, preval, i = 0;stack<TreeNode*> stk;while(root || !stk.empty()){while(root){stk.push(root);root = root->left;}++i;val = stk.top()->val;if(i != 1 && val-preval < dis)dis = val-preval;preval = val;root = stk.top()->right;stk.pop();}return dis;}
};

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

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

相关文章

Kubernetes 1.20 版本开始将弃用 Docker,是时候拥抱 Containerd 和 Podman 了!

Kubelet 中对 Docker 支持被弃用&#xff0c;并将在以后的版本中删除。Kubelet 使用一个名为 dockershim 的模块&#xff0c;该模块实现了对Docker的 CRI 支持&#xff0c;在此PR后续版本将删除dockershim。 Kubectl 弃用 --delete-local-data 参数。 名词解释 上面中提到两个名…

开源开放 | OpenKG 更新发布新冠概念、防控和流行病等多个知识图谱

近日&#xff0c;OpenKG 继续更新发布多个新冠知识图谱&#xff0c;其中包括哈尔滨工业大学构建的新冠概念图谱&#xff0c;武汉科技大学与东南大学联合构建的新冠防控图谱。同时&#xff0c;更新了由 IBM 中国研究院构建的流行病学图谱 V1.1。OpenKG 发布的所有新冠知识图谱都…

客户端单周发版下的多分支自动化管理与实践

背景 目前&#xff0c;互联网产品呈现出高频优化迭代的趋势&#xff0c;需求方希望尽早地看到结果&#xff0c;并给予及时反馈&#xff0c;所以技术团队需要用“小步快跑”的姿势来做产品&#xff0c;尽早地交付新版本。基于以上背景&#xff0c;美团客户端研发平台适时地推行了…

无意中发现了一位清华大佬的代码模版

对于刷题相关的文章&#xff0c;在之前我也推荐过不少&#xff0c;今天在给大家推荐一份算法刷题笔记&#xff0c;这份笔记与以往的刷题有所区别&#xff0c;作者把 Leetcode 一千多道题都进行了系统的整理&#xff0c;并且对于每一道题的代码&#xff0c;都要求 beat 100%。作…

Android官方开发文档Training系列课程中文版:通过NFC共享文件之发送文件到另一台设备

原文地址&#xff1a;http://android.xsoftlab.net/training/beam-files/index.html 导言 Android允许你通过Android Beam文件传输特性在两台设备之间传送大文件。这个特性拥有一个简单的API&#xff0c;允许用户通过简单的设备接触来启动一个传输进程。在响应端&#xff0c;…

LeetCode 998. 最大二叉树 II

1. 题目 向最大二叉树插入一个值&#xff1b; 如果该值大于根节点&#xff0c;则子树必须在该值的左边&#xff1b; 如果该值小于根节点&#xff0c;则该值必须在根节点的右子树 2. 解题 class Solution { public:TreeNode* insertIntoMaxTree(TreeNode* root, int val) {if(…

科大讯飞2020完整事件抽取系统(bert+数据集)

科大讯飞2020完整事件抽取系统(bert数据集) 事件抽取将非结构化文本中的事件信息展现为结构化形式&#xff0c;在舆情监测、文本摘要、自 动问答、事理图谱自动构建等领域有着重要应用。在真实新闻中&#xff0c;由于文本中可能存在句式 复杂&#xff0c;主被动转换&#xff0…

应用实践 | 网络智能运维下的知识图谱

本文转载自公众号&#xff1a;网络人工智能园地。让AI更智能&#xff0c;谷歌要用知识图谱让AI像人一样理解世界。让AI更智能&#xff0c;我们要用知识图谱让AI像网络专家一样了解网络。知识图谱引领人工智能从感知阶段演进到认知阶段&#xff0c;成为当前的热点技术之一&#…

还在买白酒?算法工程师们,量化投资了解一下

文 | 阿财知乎 本文已获作者授权&#xff0c;禁止二次转载赚取你认知中的Alpha坚持用量化的观点去看待宇宙的终极问题&#xff1a;买不买&#xff0c;卖不卖。很多人的在互联网这一片方寸之地&#xff0c;表现出来的行为是矛盾的。举个例子&#xff0c;相信技术指标在交易实践毫…

Android官方开发文档Training系列课程中文版:通过NFC共享文件之从其它设备接收文件

原文地址&#xff1a;http://android.xsoftlab.net/training/beam-files/receive-files.html Android Beam文件传输系统会将文件拷贝到接收设备的指定目录中。它还会使用Android媒体扫描器扫描被拷贝的文件&#xff0c;并会将媒体文件的入口信息添加到MediaStore提供者中去。 …

LeetCode 969. 煎饼排序

1. 题目 给定数组 A&#xff0c;我们可以对其进行煎饼翻转&#xff1a;我们选择一些正整数 k < A.length&#xff0c;然后反转 A 的前 k 个元素的顺序。我们要执行零次或多次煎饼翻转&#xff08;按顺序一次接一次地进行&#xff09;以完成对数组 A 的排序。 返回能使 A 排…

论文浅尝 | 用于低资源条件下知识图谱补全的关系对抗网络

论文作者: 邓淑敏&#xff0c;浙江大学在读博士&#xff0c;研究方向为低资源条件下知识图谱自动化构建关键技术研究。Ningyu Zhang, Shumin Deng, Zhanlin Sun, Jiaoyan Chen, Wei Zhang, Huajun Chen. Relation Adversarial Network for Low Resource Knowledge Graph Comple…

数据稀疏、结构复杂,事件抽取面临的挑战该如何应对?

数据稀疏、结构复杂&#xff0c;事件抽取面临的挑战该如何应对&#xff1f;

Spring Boot引起的“堆外内存泄漏”排查及经验总结

背景 为了更好地实现对项目的管理&#xff0c;我们将组内一个项目迁移到MDP框架&#xff08;基于Spring Boot&#xff09;&#xff0c;随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因&#xff0c;发现配置了4G堆内内存&#xff0c;但是实际使用…

Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!

文 | Sherry 不是小哀编 | 小轶一部问答系统发展史就是一部人工智能发展史。早在1950年的图灵测试就提出&#xff1a;如果人类无法通过问答将机器和人区分开&#xff0c;那么这个机器就可以被认为具有智能。问答系统和人工智能有着密不可分的关系。从基于规则和结构化数据的自动…

Android官方开发文档Training系列课程中文版:管理音频播放之控制APP的音量与播放

原文地址&#xff1a;http://android.xsoftlab.net/training/managing-audio/index.html 引言 如果APP需要播放音频&#xff0c;允许用户可以控制音频的播放状态是很重要的一点。为了保证有极佳的用户体验&#xff0c;还有很重要的一点就是&#xff0c;APP需要管理音频的焦点…

LeetCode 1038. 从二叉搜索树到更大和树(逆中序-右根左-降序)

1. 题目 2. 解题 二叉搜索树 逆中序遍历&#xff08;右根左&#xff09;是降序的 class Solution { public:TreeNode* bstToGst(TreeNode* root) {stack<TreeNode*> stk;int sum 0;TreeNode *rootcopy root;while(root || !stk.empty()) {while(root){stk.push(root);…

Inode 导致 电脑的网络适配器和访问点出现问题

1 电脑好好的&#xff0c;由于项目原因需要安装inode去访问外网的数据集。安装好inode没有什么问题&#xff0c;网络依然可以用。然后不小心重启了一下电脑&#xff0c;发现电脑所有的网络均不正常。网络诊断是电脑的适配器和访问点出现故障。根据网络上的解决方案&#xff0c;…

应用实践 | 南方科技大学研发基于新型冠状病毒知识图谱模式挖掘系统

本文转载自公众号&#xff1a;南方科技大学计算机科学与工程系。随着新型冠状病毒疫情的不断发展&#xff0c;有关疫情的各类信息也在不断更新&#xff0c;如何利用知识图谱从大量新型冠状病毒肺炎信息中高效挖掘相关频繁模式&#xff08;如病毒的宿主、传播途径&#xff09;成…

java.lang.NoClassDefFoundError: * : Landroid/support/v7/gridlayout/R$styleable 异常终极解决办法

该问题解决办法适用于任何类似问题。 问题的标准异常描述为&#xff1a;java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/gridlayout/R$styleable 今天由于项目需要&#xff0c;想在项目中使用GridLayout&#xff0c;无奈&#xff0c;标准库中的…