Implement int sqrt(int x)
.
Compute and return the square root of x.
题意:计算x的平方根。
思路:在0,n之间查找这个平方根,二分查找,满足i^2<=x, 且(i+1)^2>x, 则返回i即可。
class Solution {
public:
int mySqrt(int x) {
if (x < 2)
return x;
long long low = 0;
long long high = x;
long long mid = (low + high) / 2;
while (!((mid*mid <= x) && ((mid + 1)*(mid + 1))>x)){
if ((mid*mid) < x){
low = mid;
}
else{
high = mid;
}
mid = (low + high) / 2;
}
return mid;
}
};