Pow(x, n)
约 1 分钟· 本文阅读 次
本页目录
Pow(x, n)
出处
Implement pow(x, n)
Solution
由于pow(x, n)相当于n个x相乘,左半边乘积与右半边相互独立且类似,所以可以用D&C策略进行二分。注意,二分之后需要处理n大于0,等于0,小于0等情况。
Complexity
时间复杂度 O(n), 空间复杂度 O(logn)
Code
double pow(double x, int n) {
if (n == 0)
return 1.0;
if (x == 0)
return 0.0;
double half = pow(x,n/2);
if(n%2 == 0)
return half*half;
else if(n > 0)
return half*half*x;
else
return half*half/x;
}相关文章
- All Permutations II2016-01-10
- All Permutation2016-01-10
- All Subsets2016-01-10
- Best Time to Buy and Sell Stock II2016-01-10
已恢复到上次阅读位置