思路:
注意考虑好各个限制条件:求
- a=0时,m不能小于0
- a>0时,m>0,常规;m<0,倒数
- a<0时,同2
- 0的0次方的取值需要商讨一下
改进思路:
运用递归公式
可以达到O()的复杂度,当然要先对非法条件作初步判断。
代码:
class Solution {
public:
double Power(double base, int exponent) {
if(exponent==0)
return 1;
if(base==0)
return 0;
double ret=1.0;
int n=abs(exponent);
ret=Power(base,n/2);
ret*=ret;
if(n%2==1)
ret*=base;
if(exponent>0)
return ret;
else
return 1.0/ret;
}
};
网友评论