您的位置:首页 > 编程语言 > Java开发

(java)leetcode-69:Sqrt(x)

2017-07-23 19:42 441 查看

Sqrt(x)

Implement
int 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;
}
}

网上还说到一种牛顿迭代法,但是我看代码跟二分法差不多....就不贴代码了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: