美文网首页
69. Sqrt(x)

69. Sqrt(x)

作者: April63 | 来源:发表于2018-06-21 14:28 被阅读0次

求平方根,这一题discussion中有一道很好的二分查找的办法,代码实现如下:


class Solution(object):
    def mySqrt(self, x):
        """
        :type x: int
        :rtype: int
        """
        if x == 0:
            return 0
        left = 1
        right = pow(2, 31) - 1
        while True:
            mid = (left + right) / 2
            if mid >  x / mid:
                right = mid - 1
            else:
                if (mid + 1) > x / (mid + 1):
                    return mid
                else:
                    left = mid + 1

相关文章

网友评论

      本文标题:69. Sqrt(x)

      本文链接:https://www.haomeiwen.com/subject/rtgqyftx.html