每天一道LeetCode-----重新实现开方运算sqrt(x),只返回整数部分即可
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),只返回整数部分即可相关推荐
- 一天一道LeetCode(61-90)
一天一道LeetCode(61-90) 文章目录 一天一道LeetCode(61-90) 61.旋转链表 62.不同路径 63.不同路径 II 64.最小路径和 65.有效数字(未解决) 66.加一 ...
- 【python】一道LeetCode搞懂递归算法!#131分割回文串 #以及刷LeetCode的一点点小心得 [数据结构与算法基础]
题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案. # 示例 输入: "aab" 输出: [["aa",&q ...
- 每日一道 LeetCode (16):求 x 的平方根
每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...
- 【一天一道Leetcode】基本计算器的延伸问题
本篇推文共计2000个字,阅读时间约3分钟. 01 题目描述 题目描述: 给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值. 整数除法仅保留整数部分. 示例: 输入:s = " ...
- leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!
作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...
- leetcode最小面积_每日一道 LeetCode (51):盛最多水的容器
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
- atoi函数_每日一道 LeetCode (50):字符串转换整数 (atoi)
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
- 去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...
作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人 前文回顾: leetcode1. 两数之和--每天刷一道leetcode系列! leetcode2. 两数相加--每天刷一道leetcod ...
- 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
最新文章
- Ext2.0框架的Grid使用介绍(转)
- Idea debugger 无法启动-unable to open debugger port , java.net.SocketException socket closed
- 【小白学习PyTorch教程】六、基于CIFAR-10 数据集,使用PyTorch 从头开始​​构建图像分类模型...
- win7+eclipse用maven构建hadoop项目注意事项
- Glide 这样用,更省内存!!! 1
- 密码学101:应用技术
- 论文查重系统哪个好?
- unity 神笔画画
- 【DSP】EPWM寄存器
- Internal error. Please report to https://code.google.com/p/android/issues
- 浅谈Vue渐进式的理解
- R语言ggplot2可视化气泡图(bubble plot)、将可视化图像的图例(lengend)放置在图像底部、图例水平方向排布(horizontal direction)、图例标题在图例标签顶部
- teradata ttu_【Teradata TTU】Windows TTU安装工具列表,
- 网众无盘服务器WINDOWS,网众无盘windows任务站的工作原理
- 极速pdf编辑器的水印如何去掉_如何使用极速PDF编辑器修改PDF文档的页面大小?...
- vfifo控制mig_浅析Xilinx家DDR控制器MIG的使用
- 论计算机应用技术对企业信息化的影响,企业信息化中计算机应用技术影响分析...
- ansible常用模块总结
- Radware襄助TierPoint提供卓越的DDoS缓解服务
- android motion linux handle,Android实现刮奖的效果
热门文章
- DWR第六篇之文件下载
- JavaEE PO VO BO DTO POJO DAO 整理总结(转)
- Qt的MDI中多个子窗口响应一个菜单事件的优雅实现(动态slot)
- Boost正则表达式的编译与使用方法集
- 关于项目中属性配置文件的改进
- 【转】HashTable 和 HashMap的区别
- for 创建一个方法:键盘录入一个数 ,求它的 阶乘 及 阶乘的和
- [译] APT分析报告:09.伊朗APT34更新武器库——SideTwist变体
- [Python图像处理] 一.图像处理基础知识及OpenCV入门函数
- [python] LDA处理文档主题分布代码入门笔记