Pow(x, n)问题及解法

问题描述:

Implement pow(x, n).


问题分析:

对一个数求幂运算,我们可以把它的幂分解开来,利用二分法,降低时间复杂度。


过程详见代码:

class Solution {
public:
    double myPow(double x, int n) {
		return myPow2(x, n);
	}

	double myPow2(double x, long long n) {
		if (n == 0) return 1;
		if (n < 0)
		{
			x = 1 / x;
			n = -n;
		}

		if (n & 1) return x * myPow(x * x, n / 2);
		else return myPow(x * x, n / 2);
	}
};


你可能感兴趣的:(Pow(x, n)问题及解法)