LeetCode[50] Pow(x, n)

Implement pow(x, n).

分析:

直接用二分法。要考虑n为负数的情况。

x^n = x^{n/2} x^{n/2} x^{n%2}

代码:

public class Solution {
public double myPow(double x, int n) {
if (n < 0){
return 1.0 / power(x,-n);
}else{
return power(x,n);
}
}
public double power(double x, int n){
if (n == 0) return 1;
double v = power(x,n/2);
if (n % 2 == 0){
return v * v;
}else{
return x * v * v;
}
}
}

欢迎关注公众号: FullStackPlan 获取更多干货

Copyright © 2016 - 2017 LBD All Rights Reserved.

访客数 : | 访问量 :