【LeetCode 0050】【分治/递归】求x的n次方

  1. Pow(x, n)

Implement pow(x, n), which calculates x raised to the power n (i.e., x^n).

Example 1:

复制代码
**Input:** x = 2.00000, n = 10
**Output:** 1024.00000

Example 2:

复制代码
**Input:** x = 2.10000, n = 3
**Output:** 9.26100

Example 3:

复制代码
**Input:** x = 2.00000, n = -2
**Output:** 0.25000
**Explanation:** 2^-2 = 1/2^2 = 1/4 = 0.25

Constraints:

  • -100.0 < x < 100.0
  • -2^31 <= n <= 2^31-1
  • n is an integer.
  • Either x is not zero or n > 0.
  • -10^4 <= x^n <= 10^4
Idea
text 复制代码
* 调库函数Math.pow(x,n)
* 暴力乘法
* 分治递归,一分为二
JavaScript Solution
javascript 复制代码
/**
 * @param {number} x
 * @param {number} n
 * @return {number}
 */
var myPow = function(x, n) {
    if( !n ){
        return 1
    }

    if( n < 0 ){
        return 1/myPow(x,-n)
    }

    if( n%2 ){
        return x*myPow(x,n-1)
    }
    return myPow(x*x, n/2 ); 

};
相关推荐
leo_messi946 分钟前
面试知识点梳理及相关面试题(十六)-- 分布式设计
分布式·面试·职场和发展
土司大王7 分钟前
LeetCode hot100——实现 Trie (前缀树)
java·算法·leetcode
水龙吟啸12 分钟前
华为研发岗AI方向9.9机考题复盘&分析
人工智能·python·算法·华为
小七在进步14 分钟前
类和对象(一)
java·数据结构·算法
Y_Bk14 分钟前
2026 ICPC EC网络预选赛第一场
算法
CarIise20 分钟前
C语言字符串基础:从char数组到双指针反转算法
算法
佳児素花痴╮22 分钟前
C++速通2
开发语言·c++·算法
麻瓜code1 小时前
【LeetCode】相交链表:双指针法,一次遍历找到交点
算法·leetcode·链表
zander2581 小时前
LeetCode 5. 最长回文子串
算法
hanlin032 小时前
刷题笔记:力扣第84题-柱状图中最大的矩形
笔记·算法·leetcode