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

实现 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
 


        var myPow = function (x, n) {
            if (n === 0) return 1 // n=0直接返回1
            if (n < 0) {   		  //n<0时 x的n次方等于1除以x的-n次方分
                return 1 / myPow(x, -n)
            }
            if (n % 2) {    //n是奇数时 x的n次方 = x*x的n-1次方
                return x * myPow(x, n - 1)
            }
            return myPow(x * x, n / 2) //n是偶数,使用分治,一分为二,等于x*x的n/2次方 
        }

 

分治:字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中,分治法就是运用分治思想的一种很重要的算法。分治法是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)等等。

你可能感兴趣的:(JavaScript,算法)