一:题目
二:上码
class Solution {
public:
/**
思路:1.因为我们的 ans的平方 <= x 那么我们就可以用二分法来做 不断缩小左右范围来确定 ans
**/
int mySqrt(int x) {
int left = 0;
int right = x;
int ans = 0;
while (left <= right) {
long mid = (right-left)/2 + left;
if (mid*mid > x) {//当mid的平方大于x的时候 那么我们就可以知道的是那么就需要更新right 往小范围缩小
right = mid -1;
} else {
ans = mid;//用在这里的话结果不用 减一
left = mid + 1;
}
}
return ans;
}
};