Implement pow(x, n).
把n次换成logn次乘法
public class Solution {//关键是减少运算次数,避免TLE
public double myPow(double x, int n) {
if(n<0){
return 1.0/power(x, -n);
}else {
return power(x, n);
}
}
public double power(double x, int n){
if(n==0)
return 1;
double v = power(x, n/2);
if(n%2==0)
return v*v;
else
return v*v*x;
}
}
本文介绍了一种优化幂运算的方法,通过将n次乘法转换为logn次乘法来减少计算复杂度,从而提高程序运行效率。关键在于递归分解幂运算并利用平方加速过程。

2814

被折叠的 条评论
为什么被折叠?



