哇!自己做出来的bug free的二分法题,好开心!
上code
public int sqrt(int x) {
if(x==0){
return 0;
}
if(x<0){
return -1;
}
int l = 1;
int r = x;
while(l<=r){
int m = l + (r-l)/2;
if(x/m==m){
return m;
}else if(x/m>m){
l=m+1;
}else{
r=m-1;
}
}
return r;
}