1.题目描述
题目原链接:sqrtx
2.解题思路及算法
- 双指针折半查找
class Solution {
public:
int mySqrt(int x) {
int right = x/2 + 1;
int left = 1;
int mid = (right + left)/2;
while(right >= left){
mid = (right + left)/2;
if (mid == x/mid)
return mid;
if (mid > x/mid)
right = mid-1;
if (mid < x/mid)
left = mid + 1;
}
return right;
}
};