题目🌵
📝Leetcode 50 Pow(x, n)
✏️leetcode-cn.com/problems/po…
实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn )。 (好久没更新了hhhh 补上补上)
示例 1:
输入:x = 2.00000, n = 10
输出:1024.00000
解题思路💡
- 分治
- 将大的问题划分成一个个小的问题,此时需要注意每个子问题之间需要合并处理
- 这里使用递归的形式,将x^n的问题划分成x^(2/n),x^(2/n)
var myPow = function (x, n) {
if (n === 0) return 1 //递归结束条件
if (n < 0) return 1 / myPow(x, -n) //计算小于0时的指数幂
if (n % 2) return x * myPow(x, n - 1) //继续划分
return myPow(x * x, n / 2) //分治
};