一、问题描述
Implement pow(x, n).
二、问题分析
在实现分治递归时,结束条件加n==1,可显著提高算法运行效率。
三、算法代码
public class Solution {
public double myPow(double x, int n) {
if(n < 0){
return 1.0 / pow(x, -n);
}else{
return pow(x, n);
}
}
public double pow(double x, int n){
if(n == 0){
return 1;
}
if(n == 1){//结束条件加n==1,可显著提高算法运行效率
return x;
}
double value = pow(x, n / 2);
if(n % 2 == 0){
return value * value;
}else{
return value * value * x;
}
}
}