题目
分析
从0到x的遍历肯定会超时,于是考虑用二分查找。
大数据计算尽量不要用int来存。
题解
class Solution {
public:
int mySqrt(int x) {
int i=0;
int j=x;
long long mid = (i+j)/2;
while(1){
if(mid*mid<=x && (mid+1)*(mid+1)>x)
return mid;
else{
if(mid*mid > x)
j=mid-1;
else
i=mid+1;
}
mid=(i+j)/2;
}
}
};