当前位置:   article > 正文

二分查找——x的平方根_js二分查找求算数平方根

js二分查找求算数平方根

今日复习了二分查找,练习了力扣上面的一些题目,记录了其中的一些题目。在关于求平方根或是完全平方数的题目中可以使用二分法。
69. x的平方根
这道题目也可以用二分查找的思想来进行解答。

class Solution:
    def mySqrt(self, x: int) -> int:
        # 求算数平方根 a * a = x
        if x == 1: return 1
        left = 1
        right = x // 2
        while left <= right:
            mid = (left+right) // 2
            if mid * mid == x:
                return mid
            elif mid * mid > x:
                right = mid - 1
            else:
                left = mid + 1
        return right
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

同理
367. 有效的完全平方数

class Solution:
    def isPerfectSquare(self, num: int) -> bool:
        left = 1
        right = num // 2
        if num == 1: return True
        while left <= right:
            mid = (left+right) // 2
            if mid * mid == num:
                return True
            elif mid * mid < num:
                left = mid + 1
            else:
                right = mid - 1
        return False
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

在python中可以使用sqrt来返回平方根。

import math
print(math.sqrt(4))
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/620753
推荐阅读
相关标签
  

闽ICP备14008679号