首页 > 编程语言 >9.28算法

9.28算法

时间:2023-09-28 12:22:45浏览次数:32  
标签:return val max 9.28 算法 isValidBSTHelper root 节点

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。

有效 二叉搜索树定义如下:

节点的左子树只包含 小于 当前节点的数。
节点的右子树只包含 大于 当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
 

示例 1:


输入:root = [2,1,3]
输出:true
示例 2:


输入:root = [5,1,4,null,null,3,6]
输出:false
解释:根节点的值是 5 ,但是右子节点的值是 4 。
 

提示:

树中节点数目范围在[1, 104] 内
-231 <= Node.val <= 231 - 1

class Solution { public:
bool isValidBSTHelper(TreeNode *root,long min,long max){     if(root==nullptr){         return true;     }     if(root->val <= min || root->val >= max){         return false;     }     return isValidBSTHelper(root->left,min,root->val) && isValidBSTHelper(root->right,root->val,max);        
} bool isValidBST(TreeNode* root) {     return isValidBSTHelper(root,LONG_MIN,LONG_MAX); } };   这里要注意

if(root->val > min && root->val < max){
return true;
}

这段代码对2,2,2这种二叉树会判断错误,不能这样判断,要去反过来判断才可以

标签:return,val,max,9.28,算法,isValidBSTHelper,root,节点
From: https://www.cnblogs.com/minipython-wldx/p/17735475.html

相关文章

  • 算法学习——同向扫描的双指针
    考虑到,$1\leN\le2\times10^5$,$O(n^2)$的暴力判断无法通过此题,下面给出三种可行的解决方案。1.哈希容易想到的一个思路是:用哈希表记录一下$a_1\sima_n$每个数出现了多少次,然后求出$\Sigma_{i=1}^ncnt_{a_i-c}$即可,$cnt_{a_i}$表示$a_i......
  • Java之包装类的算法小题的练习
     算法小题练习一:需求:键盘录入一些1~10日之间的整数,并添加到集合中。直到集合中所有数据和超过200为止。代码示例:publicclassTest1{publicstaticvoidmain(String[]args){/*键盘录入一些1~10日之间的整数,并添加到集合中。直到集合中所有数据和超......
  • 水果识别系统Python+TensorFlow+卷积神经网络算法【图像识别】
    引言随着科技的发展,我们生活中的各种便利工具日益增加。例如,你有没有想过,当你在超市里看到一个陌生的水果,却不知道它是什么名字时,有一个工具可以帮你识别出来?今天,我要为大家介绍一种基于Python的水果识别系统。这个系统不仅识别准确,还具有友好的用户界面。下面,让我们一起探索这个......
  • 文心一言 VS 讯飞星火 VS chatgpt (98)-- 算法导论9.3 4题
    四、用go语言,对一个包含n个元素的集合,假设一个算法只使用比较来确定第i小的元素,证明:无需额外的比较操作,它也能找到第i-1小的元素和第n-i大的元素。文心一言:在这个问题中,我们要使用一个称为"QuickSelect"的算法,这是一个用于在未排序的列表中查找第k小元素的算法。该算法基于"Qui......
  • 文心一言 VS 讯飞星火 VS chatgpt (94)-- 算法导论9.2 3题
    三、用go语言,给出RANDOMIZED-SELECT的一个基于循环的版本。文心一言:在循环中实现RANDOMIZED-SELECT的一个版本可以如下所示。这个版本使用Go语言编写,利用随机化来选择一个元素,并在循环中不断地调整选择的元素,直到找到目标元素。packagemainimport("fmt""math/......
  • 音频数据的自定义DataLoader及其AutoEncoder降噪算法
    DataLoader要求每一个Batch里面的数据的shape都一样,但是语音数据显然不可能都是等长的,因为每一条语音长度都不一样,因此在定制DataLoader的时候还要对每一个batch的数据进行剪裁(crop)或者填充(padding)处理。这里采用padding来对齐数据,方法采用PytorchDiscussion的网友Felix......
  • 基于AI算法+视频监控技术的智慧幼儿园解决方案
    在当今社会,为了孩子的健康启蒙教育,很多家长都会选择将孩子托付给幼儿园管理,但是,幼儿有着年龄小、难控制、易发生突发情况等特点,那么,如何能最大限度的保障幼儿在学校的安全呢?TSINGSEE青犀视频融合平台给出了方案。1、安全监控在校园部署监控摄像头并覆盖幼儿园的重要区域,如入口、......
  • 提升技术招聘有效性 | 为什么企业总考算法题?
    前些年技术圈有个经典名梗:广受谷歌员工欢迎的macOS包管理器Homebrew的开发者,技术大佬MaxHowell,去谷歌面试时由于不会做一道非常基础的算法题——翻转二叉树,而被谷歌拒了。当时圈内炸了锅,有人觉得是大佬不屑于去做,有人顺带吐槽了自己的类似经历......  其中一位网友的......
  • 算法训练day22 LeetCode235
    算法训练day22LeetCode235.701.450.235.二叉搜索树的最近公共祖先题目235.二叉搜索树的最近公共祖先-力扣(LeetCode)题解代码随想录(programmercarl.com)对于二叉树,可以用递归回溯的方式对于二叉搜索树,由其根节点大于左右子树中结点,所以当第一次遍历到根节点值......
  • 大模型深挖数据要素价值:算法、算力之后,存储载体价值凸显
    文|智能相对论作者|叶远风18.8万亿美元,这是市场预计2030年AI推动智能经济可产生的价值总和,其中大模型带来的AI能力质变无疑成为重要的推动力量。大模型浪潮下,业界对AI发展的三驾马车——算力、算法、数据任何一个维度的关注都到了全新的高度,避免“木桶效应”成为大模型发展首要......