题目:
难度:Middle
相关话题:数学
、二分查找
实现pow(x , n ) ,即计算 x 的 n 次幂函数。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
示例2:
输入: 2.10000, 3
输出: 9.26100
示例3:
输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25
说明:
思路:
先处理特殊情况n===0
,n===1
,n===-1
;
然后对n
分别是偶数和奇数进行处理,最终目标就是让n
为偶数,然后pow(x,n)===pow(x*x,n/2)
。
/**
* @来源: Javascript中文网 - 前端进阶资源教程 https://www.javascriptc.com/
* @介绍:JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容
* @param {number} x
* @param {number} n
* @return {number}
*/
var myPow = function(x, n) {
// console.log(x,n)
if(n===0)return 1
if(n===1)return x
if(n===-1)return 1/x
if(n % 2===0){
return myPow(x*x,n/2)
}else{
return x*myPow(x*x,(n-1)/2)
}
};