(java)leetcode-69:Sqrt(x)
2017-07-23 19:42
441 查看
Sqrt(x)
Implementint sqrt(int x).
Compute and return the square root of x.
解题思路:
这道题我的思路就是二分法查找结果了,这个比较简单就不多说。
public class Solution {
public int mySqrt(int x) {
long longx = x;
long first = 0;
long last = longx/2;
long mid = longx/2;
while(mid*mid != x)
{
if(mid*mid<longx)
{
if((mid+1)*(mid+1)>longx)
return (int)mid;
else if((mid+1)*(mid+1)==longx)
return (int)mid+1;
else
{
first = mid+1;
mid = (first+last)/2;
}
}
else
{
if((mid-1)*(mid-1)<=longx)
return (int)mid-1;
else
{
last = mid-1;
mid = (first+last)/2;
}
}
}
return (int)mid;
}
}
网上还说到一种牛顿迭代法,但是我看代码跟二分法差不多....就不贴代码了
相关文章推荐
- 【leetcode】69. Sqrt(x)【java】
- (Java)LeetCode-69. Sqrt(x)
- LeetCode 69 — Sqrt(x)(C++ Java Python)
- 【小熊刷题】sqrt(x) <Leetcode 69 Java>
- [Java]Leetcode69 Sqrt(x)
- leetcode解题之69.Sqrt(x) & 367. Valid Perfect Square Java版 (求一个数的平方根)
- leetcode oj java 69. Sqrt(x)
- LeetCode---69. Sqrt(x)---Python实现
- leetcode 69. Sqrt(x)
- 【LeetCode】69. Sqrt(x)解法及注释
- LeetCode | 69. Sqrt(x) 数学技巧题
- Leetcode 69. Sqrt(x) (Medium) (cpp)
- leetcode 69. Sqrt(x)
- LeetCode(69) Sqrt(x)
- LeetCode 69.Sqrt(x)
- LeetCode(69)Sqrt
- [Leetcode]@python 69. Sqrt(x)
- 【LeetCode】69. Sqrt(x) 解题报告
- leetcode-69 Sqrt(x)
- 2017.10.19 LeetCode 二分 -> 69. Sqrt(x) -> 410. Split Array Largest Sum