Appearance
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
示例 3:
- 输入: x = 2.00000, n = -2
- 输出: 0.25000
- 解释: 2-2 = 1/22 = 1/4 = 0.25
提示:
-100.0 < x < 100.0-231 <= n <= 231-1
n是一个整数要么
x不为零,要么n > 0。-104 <= xn <= 104
难度: Medium
题解代码
javascript
/**
* @param {number} x
* @param {number} n
* @return {number}
*/
var myPow = function(x, n) {
if (x === 1 || n === 0) return 1
if (n < 0) return 1 / helper(x, Math.abs(n))
return helper(x, n)
};
function helper (x, n) {
if (n === 1) return x
if (n % 2) {
const res = helper(x, (n - 1) / 2)
return res * res * x
}
if (n % 2 === 0) {
const res = helper(x, n / 2)
return res * res
}
}