Implement int sqrt(int x)
.
Compute and return the square root of x.
这道题目就是个二分查找题目,一定要记住
class Solution {
public:
int sqrt(int x) {
if (x < 1)
return 0;
if (x == 1 || x == 2 || x == 3)
return 1;
long long begin = 0;
long long end = x;
long long mid = 1;
while (true)
{
mid = (begin+end)/2;
if ((mid*mid == x) || (mid*mid < x && (mid+1)*(mid+1) > x))
return mid;
if (mid*mid < x)
{
begin = mid;
}
else
{
end = mid;
}
}
}
};