leetcode 50题

Posted by franki on June 14, 2021

leetcode 50题 Pow(x, n)

实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。

示例1

输入:x = 2.00000, n = 10
输出:1024.00000

示例2

输入:x = 2.10000, n = 3
输出:9.26100

思路

递归

代码

const myPow = (x, n) => {
    if (n === 0) {
        return 1;
    }
    if (n === 1) {
        return x;
    }
    if (n < 0) {
        n = -n;
        x = 1 / x;
    }
    const temp = myPow(x, Math.floor(n / 2));
    if (n % 2 === 0) {
        return temp * temp;
    }
    return temp * temp * x;
};

复杂度分析:

  • 时间复杂度: O(logN)
  • 空间复杂度:O(logN)