class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ 具体过程:类似二分查找 #left=0 right=5 mid=2 mid*mid=4 <5 #left=3 right=5 mid=4 mid*mid=16>5 #left=3 right=4 mid=3 mid*mid=9>5 #left=3 right=3 mid=3 mid*mid=9>5 #left=3 right=2 结束 left=0 right=x while left <= right: mid = (left + right) // 2 if x > mid * mid: left = mid + 1 ans = mid elif x < mid * mid: right = mid - 1 else: return mid return ans if __name__ == '__main__': a = Solution() palindrome_bool = a.mySqrt(5) print(palindrome_bool)
X的平方根 Python实现
最新推荐文章于 2023-09-16 01:18:17 发布