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)相关推荐

  1. LeetCode-二分查找-69. Sqrt(x)

    69. Sqrt(x) 思路:二分查找 class Solution {public:int mySqrt(int x) {//1:考虑特殊情况if(x<2) return x;//2:初始化边 ...

  2. 【分治】LeetCode 69. Sqrt(x)

    LeetCode 69. Sqrt(x) 参考网址:http://www.cnblogs.com/grandyang/p/4346413.html Solution1: class Solution ...

  3. LeetCode:69. Sqrt(x)

    题目链接: 69. Sqrt(x) 题目描述: Implement int sqrt(int x) Compute and return the square root of x. 题目解释: 提干非 ...

  4. leetcode系列--69.Sqrt(x)

    leetcode系列–第69题.Sqrt(x) 给你一个非负整数 x ,计算并返回 x 的 算术平方根 . 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 . 注意:不允许使用任何内置 ...

  5. 【LeetCode】69. Sqrt(x) (2 solutions)

    Sqrt(x) Implement int sqrt(int x). Compute and return the square root of x. 解法一:牛顿迭代法 求n的平方根,即求f(x)= ...

  6. 69. Sqrt(x)010(二分法求解+详解注释)

    一:题目 '给你一个非负整数 x ,计算并返回 x 的 算术平方根 . 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 . 注意:不允许使用任何内置指数函数和算符,例如 pow(x, ...

  7. LeetCode 69. Sqrt(x)

    题目: Implement int sqrt(int x). Compute and return the square root of x. 思路: 写一个自己的求平方根的函数. 初始化low为0, ...

  8. leetcode python3 简单题69. Sqrt(x)

    1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第六十九题 (1)题目 英文: Implement int sqrt(int x). ...

  9. LeetCode 69: Sqrt(x) 求根号x(牛顿迭代法和二分查找法)

    题目: Implement int sqrt(int x). Compute and return the square root of x. 分析:我们平常可能好少会自己去求解某个数的平方根,一般都 ...

最新文章

  1. 重磅升级,52个Python+OpenCV实战项目教你掌握图像处理
  2. jekyll静态博客提升访问速度:内嵌CSS,异步加载js,压缩HTML
  3. 爱了!安利一个相见恨晚的可视化学习网站
  4. InsightFace笔记
  5. RocketMQ类关系图之NameServer
  6. 终于弄明白 i = i++和 i = ++i 的区别了!
  7. 玩转ECS第8讲 | 服务器迁移中心SMC最佳实践及新特性介绍
  8. why COMM_PRFREEATTR could not appear in F4 help
  9. 嵌入式linux配置qt,基于qt的嵌入式Linux开发环境搭建
  10. 21秋期末考试财务会计(二)10165k2
  11. 《南溪的目标检测学习笔记》——主干网络backbone设计的学习笔记
  12. 转载--上下标等特殊符号的输入方法
  13. 笔记本电脑开机后在桌面上没有计算机图标,电脑开机之后桌面上没有图标怎么处理...
  14. Photoshop CC 2018安装破解
  15. Vue项目中生成二维码
  16. python小乌龟编程_新手学python ——《小乌龟吃小鱼》小游戏 第二版
  17. python--re模块及爬取红牛分公司实战演练
  18. 简单使用命令行创建数据库
  19. 不完整拼音模糊匹配算法
  20. 【JAVA】:java中getTime函数

热门文章

  1. 最新Whmcs销售系统模板+购物车模板Yousi/UI很不错
  2. 上海交通大学计算机科学导论论文,上海交通大学全能学霸:3年3篇SCI论文,数学全部满分,还爱写作...
  3. 飞思卡尔I.MX6Q-QT5的移植
  4. 2021-2027全球与中国5G的无人驾驶汽车市场现状及未来发展趋势
  5. 学习笔记11--自动驾驶汽车整体架构
  6. 1166 Summit (25 point(s)) PAT甲级
  7. 2022 中国信科独角兽榜单发布 XSKY星辰天合上榜
  8. 5 年不用升级!全新 Win10 系统发布,微软官方精简
  9. 路由器刷固件 | MERCURY-MW305R | 路由器实现锐捷认证
  10. 达内python第二阶段月考_达内java15.12第二次月考(附答案).课件