Sqrt(x)

原题链接Sqrt(x)

重新实现开方运算。

因为要求实现的开方运算只需要返回整数部分即可,所以首先考虑一下当n为多少时可以返回。
n是给定x的开方结果一定满足

  • n * n <= x
  • (n + 1) * (n + 1) > x

所以可以从这两点入手,同时,因为结果可以是[1, x]范围任意一个数字,所以可以利用二分法加快执行速率

代码如下

class Solution {
public:int mySqrt(int x) {int low = 0;int high = x;while(low < high){/* 这里最好用low + (high - low) / 2计算中位数,否则low + high容易溢出 *//* 另外middle最好是long long int类型,因为middle * middle也容易溢出 */long long int middle = low + (high - low) / 2;if(middle * middle <= x && (middle + 1) * (middle + 1) > x)return middle;else if(middle * middle > x)high = middle - 1;elselow = middle + 1;}return low;}
};

每天一道LeetCode-----重新实现开方运算sqrt(x),只返回整数部分即可相关推荐

  1. 一天一道LeetCode(61-90)

    一天一道LeetCode(61-90) 文章目录 一天一道LeetCode(61-90) 61.旋转链表 62.不同路径 63.不同路径 II 64.最小路径和 65.有效数字(未解决) 66.加一 ...

  2. 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]

    题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案. # 示例 输入: "aab" 输出: [["aa",&q ...

  3. 每日一道 LeetCode (16):求 x 的平方根

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...

  4. 【一天一道Leetcode】基本计算器的延伸问题

    本篇推文共计2000个字,阅读时间约3分钟. 01 题目描述 题目描述: 给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值. 整数除法仅保留整数部分. 示例: 输入:s = " ...

  5. leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  6. leetcode最小面积_每日一道 LeetCode (51):盛最多水的容器

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  7. atoi函数_每日一道 LeetCode (50):字符串转换整数 (atoi)

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  8. 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...

    作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...

  9. 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

最新文章

  1. Ext2.0框架的Grid使用介绍(转)
  2. Idea debugger 无法启动-unable to open debugger port , java.net.SocketException socket closed
  3. 【小白学习PyTorch教程】六、基于CIFAR-10 数据集,使用PyTorch 从头开始​​构建图像分类模型...
  4. win7+eclipse用maven构建hadoop项目注意事项
  5. Glide 这样用,更省内存!!! 1
  6. 密码学101:应用技术
  7. 论文查重系统哪个好?
  8. unity 神笔画画
  9. 【DSP】EPWM寄存器
  10. Internal error. Please report to https://code.google.com/p/android/issues
  11. 浅谈Vue渐进式的理解
  12. R语言ggplot2可视化气泡图(bubble plot)、将可视化图像的图例(lengend)放置在图像底部、图例水平方向排布(horizontal direction)、图例标题在图例标签顶部
  13. teradata ttu_【Teradata TTU】Windows TTU安装工具列表,
  14. 网众无盘服务器WINDOWS,网众无盘windows任务站的工作原理
  15. 极速pdf编辑器的水印如何去掉_如何使用极速PDF编辑器修改PDF文档的页面大小?...
  16. vfifo控制mig_浅析Xilinx家DDR控制器MIG的使用
  17. 论计算机应用技术对企业信息化的影响,企业信息化中计算机应用技术影响分析...
  18. ansible常用模块总结
  19. Radware襄助TierPoint提供卓越的DDoS缓解服务
  20. android motion linux handle,Android实现刮奖的效果

热门文章

  1. DWR第六篇之文件下载
  2. JavaEE PO VO BO DTO POJO DAO 整理总结(转)
  3. Qt的MDI中多个子窗口响应一个菜单事件的优雅实现(动态slot)
  4. Boost正则表达式的编译与使用方法集
  5. 关于项目中属性配置文件的改进
  6. 【转】HashTable 和 HashMap的区别
  7. for 创建一个方法:键盘录入一个数 ,求它的 阶乘 及 阶乘的和
  8. [译] APT分析报告:09.伊朗APT34更新武器库——SideTwist变体
  9. [Python图像处理] 一.图像处理基础知识及OpenCV入门函数
  10. [python] LDA处理文档主题分布代码入门笔记