1 leetcode50 计算 x 的 n 次幂函数。

实现 pow(xn) ,即计算 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)
View Code

相关文章:

  • 2021-08-28
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-07
猜你喜欢
  • 2022-12-23
  • 2021-11-10
  • 2021-08-06
  • 2021-12-04
  • 2021-05-18
  • 2022-01-16
  • 2021-09-25
相关资源
相似解决方案