leetcode50:Pow(x,n)
思路:折半法,初始化一个i,使他等于n的绝对值(因为n有正有负,先全部按正计算,负的最后取倒数就可以),对于i进行折半,如果折半值是2的倍数,就将x乘本身,如果不是2的倍数,就要将结果乘一个x后,再将x乘他本身
leetcode50:Pow(x,n)

class Solution:
    def myPow(self, x: float, n: int) -> float:
        res = 1
        i = abs(n)    #取n的绝对值
        while i != 0:
            if i % 2 != 0:
                res *= x
            x *= x
            i= i // 2
        return res if n > 0 else 1/res

相关文章:

  • 2021-12-24
  • 2021-05-13
  • 2021-12-25
  • 2021-10-23
  • 2021-11-19
猜你喜欢
  • 2022-12-23
  • 2021-05-23
  • 2021-09-11
  • 2021-09-10
  • 2021-09-15
  • 2022-01-09
相关资源
相似解决方案