Implement pow(x, n).
public class Solution { public double pow(double x, int n) { // Start typing your Java solution below // DO NOT write main() function boolean pos =true; if(n<0){ pos = false; n = - n; } if(n == 0) return 1; double power = x, prod = 1.0; while(n>0){ if(n%2 == 1) { prod = prod * power;} power = power * power; n= n/2; } if(pos){ return prod; } else{ return 1/prod; } } }
public class Solution { public 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; } }