LeetCode之Sqrt(x)
发布日期:2021-06-29 14:08:23
浏览次数:2
分类:技术文章
本文共 823 字,大约阅读时间需要 2 分钟。
1、题目
Implement int sqrt(int x)
.
Compute and return the square root of x.
to see which companies asked this question.
2、代码实现
public class Solution { public int mySqrt(int x) { if (x < 0) return -1; if (x == 0) return 0; if (x == 1) return 1; int max = x / 2 + 1; int min = 1; while (min <= max) { int mid = (min + max) / 2; if (mid <= x / mid && x / (mid + 1) < mid + 1) return mid; if (mid > x / mid) max = mid - 1; else min = mid + 1; } return 0; }}
3、注意的地方
1)、第一要记得判断条件是
mid * mid <= x && (mid + 1) * (mid + 1) >x
2)、第二要防止数据超过整形数据范围,所以需要把条件转化为
mid <= x / mid && x / (mid + 1) < mid + 1
3)、逻辑要清晰,先求max,min, next we will get mid, and condition is mid * mid <= x && (mid + 1) * (mid + 1) > x, and by condition ,do not remember max = mid -1, min = mid +1 or max = mid, min = mid;
转载地址:https://chenyu.blog.csdn.net/article/details/70042243 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月06日 09时27分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SASS软件的成熟度模型总结
2019-04-29
一次搞定redis使用
2019-04-29
最全架构设计实践方法论: 微服务
2019-04-29
Linux下简单几步安装AI开发环境-ROS(超有意思)
2019-04-29
epoll详解
2019-04-29
linux入门--磁盘管理之分区、格式化与挂载
2019-04-29
鸿蒙(二)基于小熊派实现LOT上云的智慧家居项目
2019-04-29
开发必备:HTTP 及 TLS
2019-04-29
Windows 11答疑:大家最关心的10个问题
2019-04-29
select、poll、epoll之间的区别
2019-04-29
Shopify!Shopify!Shopify!
2019-04-29
这是美国MarTech最大的一家独立公司:HubSpot
2019-04-29
从开发到产出:关于机器学习的七则干货建议
2019-04-29
你想成为数据科学家吗?不要把机器学习当成入门第一课
2019-04-29
你想成为数据科学家吗?不要把机器学习当成入门第一课
2019-04-29
现代社会悖论:信息泛滥是一只不守规矩的野兽
2019-04-29
如何设计自己的第一个加密交易机器人?
2019-04-29
浪费在Excel上的时间:如何开始专家式机器学习实验追踪?
2019-04-29
失业三星期:我寻找第二份编程工作之路
2019-04-29
跳过媒介,我们能不能只用思想控制计算机?
2019-04-29