class Solution {
public:
int bsearch(int x, int low, int high){
if(x == 1 || x == 0) return x;
long tmp;
while(low < high){
long mid = low + ((high - low)>>1);
tmp = mid*mid;
if(tmp <= x && (mid+1)*(mid+1)>x) return mid;
else if(tmp > x) high = mid;
else low = mid;
}
return -1;
}
int mySqrt(int x) {
auto ans = bsearch(x, 0, x);
return ans;
}
};
LeetCode第 69 题:x的平方根(C++)
最新推荐文章于 2022-04-06 10:21:43 发布