69 Sqrt(x)
69 Sqrt(x)
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
示例 1:
输入:x = 4
输出:2
示例 2:
输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
提示:
0 <= x <= 231 - 1
二分查找
由于 x 平方根的整数部分 ans 是满足 k^2 ≤x 的最大 k 值,因此我们可以对 k 进行二分查找,从而得到答案。
二分查找的下界为 0,上界可以粗略地设定为 x。在二分查找的每一步中,我们只需要比较中间元素 mid 的平方与 x 的大小关系,并通过比较的结果调整上下界的范围。由于我们所有的运算都是整数运算,不会存在误差,因此在得到最终的答案 ans 后,也就不需要再去尝试 ans+1 了。
复杂度分析
- 时间复杂度:O(logx),即为二分查找需要的次数。
- 空间复杂度:O(1)。
69 Sqrt(x)相关推荐
- LeetCode-二分查找-69. Sqrt(x)
69. Sqrt(x) 思路:二分查找 class Solution {public:int mySqrt(int x) {//1:考虑特殊情况if(x<2) return x;//2:初始化边 ...
- 【分治】LeetCode 69. Sqrt(x)
LeetCode 69. Sqrt(x) 参考网址:http://www.cnblogs.com/grandyang/p/4346413.html Solution1: class Solution ...
- LeetCode:69. Sqrt(x)
题目链接: 69. Sqrt(x) 题目描述: Implement int sqrt(int x) Compute and return the square root of x. 题目解释: 提干非 ...
- leetcode系列--69.Sqrt(x)
leetcode系列–第69题.Sqrt(x) 给你一个非负整数 x ,计算并返回 x 的 算术平方根 . 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 . 注意:不允许使用任何内置 ...
- 【LeetCode】69. Sqrt(x) (2 solutions)
Sqrt(x) Implement int sqrt(int x). Compute and return the square root of x. 解法一:牛顿迭代法 求n的平方根,即求f(x)= ...
- 69. Sqrt(x)010(二分法求解+详解注释)
一:题目 '给你一个非负整数 x ,计算并返回 x 的 算术平方根 . 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 . 注意:不允许使用任何内置指数函数和算符,例如 pow(x, ...
- LeetCode 69. Sqrt(x)
题目: Implement int sqrt(int x). Compute and return the square root of x. 思路: 写一个自己的求平方根的函数. 初始化low为0, ...
- leetcode python3 简单题69. Sqrt(x)
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第六十九题 (1)题目 英文: Implement int sqrt(int x). ...
- LeetCode 69: Sqrt(x) 求根号x(牛顿迭代法和二分查找法)
题目: Implement int sqrt(int x). Compute and return the square root of x. 分析:我们平常可能好少会自己去求解某个数的平方根,一般都 ...
最新文章
- 重磅升级,52个Python+OpenCV实战项目教你掌握图像处理
- jekyll静态博客提升访问速度:内嵌CSS,异步加载js,压缩HTML
- 爱了!安利一个相见恨晚的可视化学习网站
- InsightFace笔记
- RocketMQ类关系图之NameServer
- 终于弄明白 i = i++和 i = ++i 的区别了!
- 玩转ECS第8讲 | 服务器迁移中心SMC最佳实践及新特性介绍
- why COMM_PRFREEATTR could not appear in F4 help
- 嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建
- 21秋期末考试财务会计(二)10165k2
- 《南溪的目标检测学习笔记》——主干网络backbone设计的学习笔记
- 转载--上下标等特殊符号的输入方法
- 笔记本电脑开机后在桌面上没有计算机图标,电脑开机之后桌面上没有图标怎么处理...
- Photoshop CC 2018安装破解
- Vue项目中生成二维码
- python小乌龟编程_新手学python ——《小乌龟吃小鱼》小游戏 第二版
- python--re模块及爬取红牛分公司实战演练
- 简单使用命令行创建数据库
- 不完整拼音模糊匹配算法
- 【JAVA】:java中getTime函数
热门文章
- 最新Whmcs销售系统模板+购物车模板Yousi/UI很不错
- 上海交通大学计算机科学导论论文,上海交通大学全能学霸:3年3篇SCI论文,数学全部满分,还爱写作...
- 飞思卡尔I.MX6Q-QT5的移植
- 2021-2027全球与中国5G的无人驾驶汽车市场现状及未来发展趋势
- 学习笔记11--自动驾驶汽车整体架构
- 1166 Summit (25 point(s)) PAT甲级
- 2022 中国信科独角兽榜单发布 XSKY星辰天合上榜
- 5 年不用升级!全新 Win10 系统发布,微软官方精简
- 路由器刷固件 | MERCURY-MW305R | 路由器实现锐捷认证
- 达内python第二阶段月考_达内java15.12第二次月考(附答案).课件