自学内容网 自学内容网

LeetCode 50. Pow(x, n)

LeetCode 50. Pow(x, n)

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。
示例 1:
输入:x = 2.00000, n = 10
输出:1024.00000
示例 2:
输入:x = 2.10000, n = 3
输出:9.26100
示例 3:
输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25
提示:
-100.0 < x < 100.0
-231 <= n <= 231-1
n 是一个整数
要么 x 不为零,要么 n > 0 。
-104 <= xn <= 104

递归快速幂

class Solution:

    def quick_multi(self, x, n):
        if x == 1 or n == 0:
            return 1
        y = self.quick_multi(x, n // 2)
        return y * y * (x if n % 2 else 1)
        

    def myPow(self, x: float, n: int) -> float:
        return self.quick_multi(x, n) if n >= 0 else 1 / self.quick_multi(x, -n)

原文地址:https://blog.csdn.net/UZDW_/article/details/142536146

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!