解题思路:二分法,注意n < 0的情况
Java Code:
public double pow(double x, int n) { if(n == 0) return 1.0; int m = Math.abs(n); double result = 0.0; double tmp = pow(x, m/2); if(m%2 == 0){ result = tmp*tmp; }else{ result = tmp*tmp*x; } result = n < 0? 1.0/result : result; return result; }
No comments:
Post a Comment