题目描述:
题解:
普通递归超时,使用快速幂
mypow(x,n)=mypow(x,n//2)**2如果n为偶数
mypow(x,n)=mypow(x,n//2)**2*x如果n为奇数
mypow(x,n)=mypow(1/x,-n)如果n为负数
class Solution: def myPow(self, x: float, n: int) -> float: if n==0: return 1 if n==1: return x if n<0: return self.myPow(1/x,-n) return self.myPow(x,n//2)**2 if n%2==0 else self.myPow(x,n//2)**2*x