class Solution
{
public:
//对一个非负整数x来说,其平方根不会超过x/2+1,因此此题变为了这样的一个二分查找算法:在[0,x/2+1]内找到一个数,使其平方等于x
int mySqrt(int x)
{
long long i{0};
long long j{x/2+1};
while(i<=j)
{
long long mid=(i+j)/2;
long long square=mid*mid;
if(square<x) i=mid+1;
else if(square>x) j=mid-1;
else return mid;
}
return j;
}
};
leetcode 69 使用二分查找法求解平方根
最新推荐文章于 2022-04-04 09:55:27 发布