Datawhale-2020年8月组队学习: 编程实践(LeetCode分类练习)
Task01:分治
编程语言: Python
1. LeetCode 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 / 2 2 = 1 / 4 = 0.25 2^{-2} = 1 / 2^{2} = 1/4 = 0.25 2−2=1/22=1/4=0.25
解题思路(分治)
- 当计算 x n x^{n} xn时,我们可以先递归的计算 y = x ⌊ n / 2 ⌋ y=x^{\lfloor n/2\rfloor} y=x⌊n/2⌋
- 根据递归的结果计算,如果 n n n为偶数,那么 x n = y 2 x^{n}=y^{2} xn=y