LeetCode 270. 最接近的二叉搜索树值

文章目录

    • 1. 题目
    • 2. 解题
      • 2.1 暴力查找
      • 2.2 二分查找

1. 题目

给定一个不为空的二叉搜索树和一个目标值 target,请在该二叉搜索树中找到最接近目标值 target 的数值。

注意:
给定的目标值 target 是一个浮点数
题目保证在该二叉搜索树中只会存在一个最接近目标值的数

示例:
输入: root = [4,2,5,1,3],目标值 target = 3.7142864/ \2   5/ \
1   3
输出: 4

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

2. 解题

2.1 暴力查找

class Solution {int ans = LONG_MAX;double diff = LONG_MAX;
public:int closestValue(TreeNode* root, double target) {if(!root) return 0;if(fabs(double(root->val)-target) < diff){diff = fabs(double(root->val)-target);ans = root->val;}closestValue(root->left, target);closestValue(root->right, target);return ans;}
};

16 ms 20.9 MB

2.2 二分查找

class Solution {int ans = LONG_MAX;double diff = LONG_MAX;
public:int closestValue(TreeNode* root, double target) {if(!root) return 0;if(fabs(double(root->val)-target) < diff){diff = fabs(double(root->val)-target);ans = root->val;}if(root->val > target)closestValue(root->left, target);elseclosestValue(root->right, target);return ans;}
};

20 ms 20.8 MB


长按或扫码关注我的公众号,一起加油、一起学习进步!
Michael阿明

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

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

相关文章

RDLC报表其余空白页问题

1.预览时正常&#xff0c;打印或转PDF后最后多出一页空白页的问题解决办法&#xff1a; 只要把报表主体的高度和所要打印的列表或表单高度一样&#xff08;使两者的底部重合即可&#xff09;2.预览时正常&#xff0c;打印时每页后面多出一页空白页解决办法&#xff1a;主要是报…

getset原子性 redis_一文看透 Redis 分布式锁进化史(解读 + 缺陷分析)

各个版本的Redis分布式锁V1.0V1.1 基于[GETSET]V2.0 基于[SETNX]V3.0V3.1分布式Redis锁&#xff1a;Redlock总结《Netty 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与…

MYSQL中有时候不得不使用replace()去掉特殊字符,写在这里备用一下

LOWER&#xff08;&#xff09;的作用是把所有的大小写统统变成小写&#xff1b; LOWER(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(repla…

LeetCode 702. 搜索长度未知的有序数组(二分查找)

文章目录1. 题目2. 解题1. 题目 给定一个升序整数数组&#xff0c;写一个函数搜索 nums 中数字 target。 如果 target 存在&#xff0c;返回它的下标&#xff0c;否则返回 -1。注意&#xff0c;这个数组的大小是未知的。 你只可以通过 ArrayReader 接口访问这个数组&#xff0…

11个非常漂亮动物为主题的高品质图标集

今天发布一些令人振奋的动物为主题的图标集。这里收集了世界各地的设计师和艺术家的图标集杰作&#xff0c;如果你在做卡通设计网站&#xff0c;这个是你合适的选择 Birdie Adium Dock Icons Animals Tweeties: A Free Twitter Icon Set Birdies Zoom-eyed Creatures FREE Plus…

ae中心点重置工具_7步学习AE 入门篇 第2步 初学乍练

【1】做动画需要什么&#xff1f;如果动画的制作是因果关系&#xff0c;那么需要的成因具备了 结果自然就出现了。在AE中做动画一共需要3个工具&#xff0c;合成、关键帧和图层。在体验动画制作之前 我们对一些名词术语先来解释一下。合成&#xff1a;AE中用来承载视频的容器&a…

成员变量的声明位置引起编译错误

常规的Objective-c的声明范例&#xff1a; interface Sample:NSObject{private int ID;}- (void)Done; (void)Finish;end 声明的成员变量的位置在*.h上&#xff1b;现在之所以在这里提及成员变量的声明问题&#xff0c;在于和XCode版本有关在雪豹上的Xcode是4.0.1版本&#xff…

PowerBI,自定义编辑同一页面中不同图表之间的交互,使页面交互更灵活

Power BI默认情况下&#xff0c;图表之间自动关联交互&#xff0c;如果取消或者更改交互方式&#xff0c;使用编辑交互功能即可&#xff0c;关于编辑交互的设置方法&#xff0c;可以参考这篇文字&#xff1a; https://zhuanlan.zhihu.com/p/64412190

LeetCode 359. 日志速率限制器(哈希map)

文章目录1. 题目2. 解题1. 题目 请你设计一个日志系统&#xff0c;可以流式接收日志以及它的时间戳。 该日志会被打印出来&#xff0c;需要满足一个条件&#xff1a;当且仅当日志内容 在过去的 10 秒钟内没有被打印过。 给你一条日志的内容和它的时间戳&#xff08;粒度为秒…

linux 内存溢出排查_【开发者成长】JAVA 线上故障排查完整套路!

云栖号资讯&#xff1a;【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01;线上故障主要会包括 CPU、磁盘、内存以及网络问题&#xff0c;而大多数故障可能会包含不止一个层面的问题&#xff0c;所以进行…

【mysql】提取字符串中的数字、字母、中文,或任意组合

DELIMITER $$ DROP FUNCTION IF EXISTS Num_char_extract$$ CREATE FUNCTION Num_char_extract(Varstring VARCHAR(100)CHARSET utf8, flag INT) RETURNS VARCHAR(50) CHARSET utf8 COMMENT 标识 0 提取数字 1 提取字母 2提取数字字母 3 提取汉字 4 提取汉字数字字母 BEGINDECL…

C#托管代码与C++非托管代码互相调用一(C#调用C++代码.net 代码安全)

在最近的项目中&#xff0c;牵涉到项目源代码保密问题&#xff0c;由于代码是C#写的&#xff0c;容易被反编译&#xff0c;因此决定抽取核心算法部分使用C编写&#xff0c;C到目前为止好像还不能被很好的反编译&#xff0c;当然如果你是反汇编高手的话&#xff0c;也许还是有可…

LeetCode 249. 移位字符串分组(哈希)

文章目录1. 题目2. 解题1. 题目 给定一个字符串&#xff0c;对该字符串可以进行 “移位” 的操作&#xff0c;也就是将字符串中每个字母都变为其在字母表中后续的字母&#xff0c;比如&#xff1a;“abc” -> “bcd”。这样&#xff0c;我们可以持续进行 “移位” 操作&…

有趣的数学 - 123数学黑洞 - Python代码实现

123数学黑洞简介&#xff1a; 设定一个任意数字串X&#xff0c;数出这个数中的偶数个数a&#xff0c;奇数个数b&#xff0c;位数c&#xff0c;然后将三个数字按照abc的顺序拼接起来&#xff08;拼接&#xff0c;而非相加相乘&#xff09;&#xff0c;abc拼接成一个新的数字串X…

如何扩大缓存区_艾莱依首个自动化仓落地,库宝解决线边缓存难题

中国拥有着世界上最大的服装生产和消费市场&#xff0c;随着新零售的发展和消费习惯的改变&#xff0c;消费个性化浪潮、提倡消费体验等为服装领域带来诸多挑战&#xff0c;如何打造更为柔性的、高效的服装供应链成为企业提升竞争力的一大核心。针对工厂自动化环节&#xff0c;…

LeetCode 170. 两数之和 III - 数据结构设计(哈希map)

文章目录1. 题目2. 解题1. 题目 设计并实现一个 TwoSum 的类&#xff0c;使该类需要支持 add 和 find 的操作。 add 操作 - 对内部数据结构增加一个数。 find 操作 - 寻找内部数据结构中是否存在一对整数&#xff0c;使得两数之和与给定的数相等。 示例 1: add(1); add(3); …

PowerBI 报表平台首页报表列表加载慢

Power BI 加载时会进行用户身份验证&#xff0c;如果没有部署域控制器&#xff0c;验证就会超时。因此部署域控制器就会解决首页加载慢的问题

在ASP程序中访问Access数据库

嵌入式培训教程 在基于微软IIS/PWS的网络平台上&#xff0c;通过服务器端运行的ASP程序来访问后台数据库&#xff0c;是一种最常见的模式了。而对于小型的数据库应用需求&#xff0c;微软的Access数据库&#xff0c;应该是与ASP程序配套使用的首选。由于Access数据库的ODBC驱动…

MySQL - 创建存储过程Procedure,Do While实现循环

处理数据的时候&#xff0c;往往需要回溯历史&#xff0c;比如给用户分群后计算每个群体的用户数趋势&#xff0c;那么就需要计算截止到每一天的各个群体的用户数量&#xff0c;这个时候我们就需要创建存储过程&#xff0c;并且在存储过程中增加循环的功能&#xff0c;以此来实…

天不知道地知道你不知道我知道谜底_温州这里有个7000平方米的“寻宝”地,你不知道就亏大了!...

468㎡的中国百名工艺美术大师联展100㎡的非遗技艺表演区藏在贵州深山里的苗绣……一场自然与手工的文化盛宴即将拉开序幕3月21-25日&#xff0c;2019温州国际时尚文博会&#xff0c;让我们走进3号工艺美术馆~一起来寻宝这一次&#xff0c;全方位领略中国工艺之美&#xff0c;捕…