当前位置:网站首页>【LeetCode】69. x 的平方根

【LeetCode】69. x 的平方根

2022-06-12 22:18:00 LawsonAbs

1.题目

不准使用系统内置函数,请给出一个数的平方根。

2.思想

使用二分法。

  • 注意对特殊值的处理【我在这里翻了两次车】

3.代码

class Solution:
    def mySqrt(self, x: int) -> int:
        low,high=0,x
        
        # 寻找一个合适的下标,即使二者相等时,也要继续查找
        while(low <= high):
            mid=(low+high) //2 
            # print(low,high,mid)
            if x == mid * mid:
                return mid
            if mid == 0: # 如果mid = 0,那么肯定是low=0,high = 1
                low = mid+1
                continue
            if x // mid >= mid: # 如果
                low = mid + 1
            else:
                high = mid - 1 
        
        # 结束while时, low > high
        # 最后再判断一下
        return high
原网站

版权声明
本文为[LawsonAbs]所创,转载请带上原文链接,感谢
https://lawson-t.blog.csdn.net/article/details/125247598