当前位置:   article > 正文

LeetCode ❀ 69. x 的平方根 / python 袖珍计算器算法 求平方根

LeetCode ❀ 69. x 的平方根 / python 袖珍计算器算法 求平方根

题目:

给你一个非负整数 x ,计算并返回 x 的 算术平方根

由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例1:

  1. 输入:x = 4
  2. 输出:2

 示例2:

  1. 输入:x = 8
  2. 输出:2
  3. 解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

题解:

我们使用 袖珍计算器算法 来代替算术平方根

  1. class Solution:
  2. def mySqrt(self, x: int) -> int:
  3. if x == 0:return 0
  4. ans = int(math.exp(0.5 * math.log(x)))
  5. return ans + 1 if (ans + 1) ** 2 <= x else ans

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/528565
推荐阅读
相关标签
  

闽ICP备14008679号