您的位置:首页 > 其它

Leetcode 69. Sqrt(x)

2017-06-05 10:32 525 查看
这道题只是要求int型的x的int的开根号数,只要不断用二分就可以,不过要注意边界条件,比如最后当high-low==1的时候,用不用返回以及要怎么返回。代码如下:

class Solution {
public:
int mySqrt(int x) {
if(x <= 0) return 0;
int low = 1; int high = x; int mid;
while(high - low > 1)
{
mid = low + (high - low) / 2;
if(mid == x/mid)
return mid;
else if(mid > x/mid)
high = mid;
else
low = mid;
}
if(high > x/high)
return low;
else
return high;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: