LeetCode69 Sqrt(x)
题意:
Implement int sqrt(int x).
Compute and return the square root of x.(Medium)
分析:
二分搜索套路题,不能开方开尽的时候,取结果整数位。
注意:判定条件中,用x / mid == mid而不是 mid * mid == x,否则可能出现int溢出。
代码:
class Solution {
public:
int mySqrt(int x) {
if (x == ) {
return ;
}
int start = , end = x;
while (start + < end) {
int mid = start + (end - start) / ;
if (x / mid == mid) {
return mid;
}
else if (x / mid > mid) {
start = mid;
}
else {
end = mid;
}
}
if (x / end == end) {
return end;
}
return start;
}
};
LeetCode69 Sqrt(x)的更多相关文章
- tusen 刷题
//1.single number和变体 //2.lru lfu 3.给一个正整数集合,求一个和最大且能被3整除的子集.Follow up: 如果集合里有正有负 4.leetcode200-numbe ...
- [Swift]LeetCode69. x 的平方根 | Sqrt(x)
Implement int sqrt(int x). Compute and return the square root of x, where x is guaranteed to be a no ...
- leetcode-69.x的平方根
leetcode-69.x的平方根 Points 二分查找 牛顿迭代 题意 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保 ...
- 速算1/Sqrt(x)背后的数学原理
概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...
- [LeetCode] Sqrt(x) 求平方根
Implement int sqrt(int x). Compute and return the square root of x. 这道题要求我们求平方根,我们能想到的方法就是算一个候选值的平方, ...
- Leetcode 69. Sqrt(x)
Implement int sqrt(int x). 思路: Binary Search class Solution(object): def mySqrt(self, x): "&quo ...
- 欧几里得证明$\sqrt{2}$是无理数
选自<费马大定理:一个困惑了世间智者358年的谜>,有少许改动. 原译者:薛密 \(\sqrt{2}\)是无理数,即不能写成一个分数.欧几里得以反证法证明此结论.第一步是假定相反的事实是真 ...
- 求sqrt()底层效率问题(二分/牛顿迭代)
偶然看见一段求根的神代码,于是就有了这篇博客: 对于求根问题,通常我们可以调用sqrt库函数,不过知其然需知其所以然,我们看一下求根的方法: 比较简单方法就是二分咯: 代码: #include< ...
- 【leetcode】Sqrt(x)
题目描述: Implement int sqrt(int x). Compute and return the square root of x. 实现开根号,并且返回整数值(这个很重要,不是整数的话 ...
随机推荐
- android的AIDL
一.AIDL的意义: AIDL全称是Android Interface Definition Language,是android接口定义语言.AIDL就是为了避免我们一遍遍的写一些 ...
- Hackerrank--Ashton and String(后缀数组)
题目链接 Ashton appeared for a job interview and is asked the following question. Arrange all the distin ...
- laravel-admin 报错 Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
在config/filesystems.php中添加: 'disks' => [ 'local' => [ 'driver' => 'local', 'r ...
- JAVA--养成好的编程习惯
原文地址:http://user.qzone.qq.com/1159340782/2 略微牺牲一些性能,换来更好的可读性和可维护性是好的选择.以下不提倡和提倡的写法仅供参考. 代码中不提倡的写法 序号 ...
- git pull 总提示让输入merge 信息
在生产环境拉去代码的时候,总是出现了 .git/MERGE_MSG,很烦. 虽然每次可以通过输入 :q 命令,取消,然后完成拉取.但是这样就很影响效率.解决办法一: 欺骗自己法只要我没看见这个问题,这 ...
- ubuntu16安装python3.7
####################################################源码安装python,注意shell脚本第一行开头的要求#################### ...
- Linux平台的SVN服务器的配置及搭建
https://jingyan.baidu.com/article/54b6b9c08b35382d593b477c.html 一.安装SVN 1 在Linux平台上,SVN的软件包名称是subv ...
- 客户端用javascript填充Dropdownlist,服务器端获取不到Dropdownlist的值
今天遇到一个奇怪的问题,某一页面需要使用三级级联下拉列表框.为提高用户体验,采用jQuery的cascadingDropDown插件调用后台Web Services来实现ajax填充. 填充没有任何问 ...
- golang字符串常用系统函数
- kaptcha验证码的使用(转)
使用kaptcha可以方便的配置: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线(可以自 ...