X的平方根 Python实现

35 篇文章 0 订阅
18 篇文章 0 订阅
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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值