思路
- 注意这一类题目是在范围中进行二分查找,就是虽然一开始不知道答案是什么,但是知道一个范围
- 在一点就是注意,通过中间值保存结果的二分查找的写法
public class Solution {
public int mySqrt(int x) {
int left = 0, right = x, result = 0;
while (left <= right) {
int mid = left + ((right - left) >> 1);
if (x < (long) mid * mid)
right = mid - 1;
else {
result = mid;
left = mid + 1;
}
}
return result;
}
}