50. Pow(x, n)
这道题通过myPow(x,n)求x的n次幂,用分治法,时间复杂度logn,注意区分n<1的情况:
public double myPow(double x, int n) {
if(n<0)
return 1/pow(x,-n);
else
return pow(x,n);
}
public double pow(double x,int n){
if(n==0)
return 1;
double mid=pow(x,n/2);
if((n&1)==0)
return mid*mid;
else
return mid*mid*x;
}
本文介绍了一种使用分治法实现的快速幂算法,该算法能够高效地计算x的n次幂,时间复杂度为O(log n)。对于负指数的情况,算法会先转换为正指数再进行计算。
592

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



