class Solution {
public:
double pow(double x, int n) {//分治法
double result;
if(n<0)
{
x=1/x;
n=-1*n;
}
if(n==0)
return 1;
if(n==1)
return x;
result=pow(x,n/2);
return result*result*pow(x,n%2);
//return pow(x,n/2)*pow(x,n/2)*pow(x,n%2);//采用这个方式会超时,没有充分利用之前的计算结果
}
};
本文介绍了一种使用分治法高效计算幂运算的方法。通过递归将问题规模减半,实现了快速求解x^n的问题。特别地,该方法考虑了负指数的情况,并通过调整避免了不必要的复杂度。
592

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



