求数组的整数次方
思想:
分而治之
首先判断正负数,然后判断奇偶性问题:
class Solution {
public:
double myPow(double x, int n) {
if(n==0) {
return 1;
}
if(n==1) {
return x;
}
if(n==-1) {
return 1/x;
}
double half = myPow(x,n/2);
double rest = myPow(x,n%2);
return rest*half*half;
}
};
class Solution {
public double myPow(double x, int n) {
if(n==0||x==1) return 1;
if(x==0) return 0;
if(n<0) return 1/(myPow(x,-(n+1))*x);
double num=myPow(x,n/2);
if(n%2==0){
return num*num;
}else{
return num*num*x;
}
}
}