LeetCode 69. Sqrt(x)

https://leetcode.com/problems/sqrtx/

二分法

class Solution {
public:
    int mySqrt(int x) {
        if(x <= 1) return x;
        int l = 0 ,r = x, mid= (l+r)/2;;
        while(l <= r) {

            //int tmp = mid * mid;
            if(mid == x/mid) return mid;
            if(mid > x/mid) r = mid-1;
            else l = mid + 1;
            mid = (l+r)/2;
        }
        return mid;
    }
};



你可能感兴趣的:(LeetCode 69. Sqrt(x))