leetcode12- 50. Pow(x, n)

                              leetcode12- 50. Pow(x, n) 

实现 pow(x, n) ,即计算 x 的 n 次幂函数。

示例 1:

输入: 2.00000, 10
输出: 1024.00000

示例 2:

输入: 2.10000, 3
输出: 9.26100

示例 3:

输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25

说明:

-100.0 < x < 100.0
n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。

解题思路:

快速幂 + 递归

扫描二维码关注公众号,回复: 12910967 查看本文章

代码:

class Solution:
    def myPow(self, x: float, n: int) -> float:
        def quickMul(N):
            if N == 0:
                return 1.0
            y = quickMul(N//2)
            if N % 2 == 0 :
                return y * y
            else:
                return y * y * x
        if n >= 0 :
            return quickMul(n)
        else:
            return 1.0/quickMul(-n)

猜你喜欢

转载自blog.csdn.net/qq_43299522/article/details/108940756