Leetcode 69 Sqrt(x)

2018-01-12 15:00:21 浏览数 (1)

Implement int sqrt(int x).

Compute and return the square root of x.

求x的平方根。

二分没什么好说的,注意INT_MAX溢出的情况!

代码语言:javascript复制
class Solution {
public:
    int mySqrt(int x) {
        long long l=0,r=x,mid;
        while(l<=r)
        {
            mid=(l r)>>1;
            long long ans=mid*mid;
            if(ans<=x && (mid 1)*(mid 1)>x) 
                return mid;
            if(ans>x) 
                r=mid-1;
            else
                l=mid 1;
        }
        return mid;
    }
};

0 人点赞