50 Pow (x, n)

Implementpow(x,n), which calculates x_raised to the power_n(xn).

Example 1:

Input:
 2.00000, 10

Output:
 1024.00000

Example 2:

Input:
 2.10000, 3

Output:
 9.26100

Example 3:

Input:
 2.00000, -2

Output:
 0.25000

Explanation:
 2
-2
 = 1/2
2
 = 1/4 = 0.25

Note:

  • -100.0 < x < 100.0
  • n is a 32-bit signed integer, within the range [−2 31 , 2 31 − 1]
class Solution {
    public double helper(double x, int n) {
        if (n == 0) return 1;
        double r = helper(x, n/2);
        return n%2 == 0 ? r*r : r*r*x;
    }
    public double myPow(double x, int n) {
        double r = helper(x, n);
        return n < 0 ? 1/r : r;
    }
}

results matching ""

    No results matching ""