Implement int
sqrt(int x)
.
Compute and return the square root of x.
class Solution {
public:
int sqrt(int x) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(x<=0)
return 0;
if(x==1)
return 1;
int left=1,right=x/2;
int middle=0;
while(left<=right){
middle=((right-left)>>1)+left;
int temp=middle*middle;
if(temp>x || temp/middle!=middle)
right=middle-1;
else if(middle*middle<x && temp/middle==middle)
left=middle+1;
else
return middle;
}
return right;
}
};