Problem: 69. x 的平方根

思路

二分查找

Code

class Solution(object):
    def mySqrt(self, x):
        """
        :type x: int
        :rtype: int
        """
        l = 1
        r = x
        while(l <= r):
            mid = (l + r) // 2
            if mid * mid > x:
                r = mid - 1
            elif(mid * mid < x):
                l = mid + 1
            else:
                return mid
        return l - 1