📝Leetcode-50 Pow(x, n)

125 阅读1分钟

题目🌵

📝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)  //分治
};

image-20220217170004405