intmySqrt(int x){if(x==0)return0;longlong MIN =pow(10,10);int i=1;int ans =-1;while(i<=x){long mid;
mid = x -(long)i*i;if( mid>=0&& mid<MIN){
MIN = mid;
ans = i;
i++;}elsebreak;}return ans;}
二分查找
intmySqrt(int x){if(x==0)return0;int left,right;
left =1;
right = x;int ans =-1;while(left<=right){long mid = left +(right - left)/2;if(mid*mid <= x){
ans = mid;
left = mid +1;}elseif(mid*mid > x)
right = mid -1;}return ans;}