【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
* 调库函数Math.pow(x,n)
* 暴力乘法
* 分治递归,一分为二
JavaScript Solution
/**
 * @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 ); 

};

相关推荐

  1. LeetCode 0050】【分治/xn

    2024-07-10 19:14:04       23 阅读
  2. henauOJ 1113: 计算xn

    2024-07-10 19:14:04       46 阅读
  3. LeetCode 0231】【位运算】2N

    2024-07-10 19:14:04       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 19:14:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 19:14:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 19:14:04       57 阅读
  4. Python语言-面向对象

    2024-07-10 19:14:04       68 阅读

热门阅读

  1. Qt图形编辑类使用总结—正在编辑中

    2024-07-10 19:14:04       19 阅读
  2. Spring Boot与Apache Kafka Streams的集成

    2024-07-10 19:14:04       22 阅读
  3. uniapp 封装瀑布流组件

    2024-07-10 19:14:04       24 阅读
  4. ubuntu22安装Docker并配置

    2024-07-10 19:14:04       21 阅读
  5. 在Ubuntu上用Docker轻松实现GPU加速的TensorFlow

    2024-07-10 19:14:04       24 阅读
  6. Dockerfile 怎么在shell脚本中启动

    2024-07-10 19:14:04       25 阅读