884385. Implement Pow

Medium

Implement Pow

Slug: powx-n

Difficulty: Medium

Id: 884385

Summary

The problem is about implementing the pow function, which calculates the power of a given number to a specified exponent. The key concept involved is exponentiation.

Detailed Explanation

To solve this problem, we can use the property of exponentiation that states a^(b+c) = (a^b) * (a^c). This allows us to break down the calculation into smaller sub-problems and avoid calculating the same intermediate values multiple times. We can also take advantage of the fact that 0^x is always 0 and 1^x is always 1.

Here's a step-by-step breakdown of the solution:

  • If the exponent is even, calculate (x^(exponent/2))^2. This reduces the problem size by half.
  • If the exponent is odd, calculate x * (x^(exponent-1)).
  • Repeat steps 1 and 2 until the exponent is reduced to 0 or 1.

The time complexity of this solution is O(log n), where n is the exponent. This is because we divide the problem size by half in each step, effectively reducing it logarithmically.

The space complexity is O(1), as we only use a constant amount of space to store intermediate results.

Optimized Solutions

Java

View on GeeksforGeeks
public double myPow(double x, int y) {
    if (y < 0) {
        return 1 / myPow(x, -y);
    }
    if (y == 0) {
        return 1;
    }
    if (y % 2 == 0) {
        return myPow(x * x, y / 2);
    } else {
        return x * myPow(x, y - 1);
    }
}

DevExCode

Master coding interviews with Leetcode, system design, TechBit, QuickLearn, DevTips, Tech Battles, and career services.

© 2026 DevExCode. All rights reserved.