49. Pow(x, n)

Implement pow(xn).

---

Recursive

divide-and-conquer approach

O(lgn)

---

public class Solution {
    
    double pow(double x, int n) {
        if (n == 0) return 1.0;
        // Compute x^{n/2} and store the result into a temporary
        // variable to avoid unnecessary computing
        double half = pow(x, n / 2);
        if (n % 2 == 0)
            return half * half;
        else if (n > 0)
            return half * half * x;
        else
            return half * half / x;
    }
    
}

 

posted @ 2013-09-07 05:01  LEDYC  阅读(125)  评论(0)    收藏  举报