1 leetcode50 计算 x 的 n 次幂函数。
实现 pow(x, n) ,即计算 x 的 n 次幂函数。
(1)调用库函数
(2)暴力o(N)
(3)分治
xxxxxx.......x 采用两端夹,如果是偶数 y=x的二分之n次方 result=y*y。如果是奇数,x的二分之n次方,result=y*y*x
x(n)->x(n/2)->x(n/4).....x(0) 每次减半,logn
1 class Solution(object): 2 def myPow(self, x, n): 3 """ 4 :type x: float 5 :type n: int 6 :rtype: float 7 """ 8 if not n: 9 return 1 10 if n<0: 11 return 1 / self.myPow(x,-n) 12 if n%2: 13 return x*self.myPow(x,n-1) 14 return self.myPow(x*x,n/2)