Math
Q1: Pow(x, n)
class Solution {
public:
double myPow(double x, long int n) {
long int N;
if (n < 0) {
N = -(long)n;
return 1.0 / sol(x, N);
}
return sol(x, n);
}
double sol(double x, long int n) {
if(n == 0) return 1;
else if(n == 1) return x;
else if(n%4 == 0) {
double y = sol(x, n/4);
return y*y*y*y;
}
else if(n%2 == 0) {
double y = sol(x, n/2);
return y*y;
}
else {
double y = sol(x, (n-1)/2);
return y*y*x;
}
}
};Q2: Multiply Strings
Last updated
Was this helpful?