50. Pow(x, n)LeetCode Solution

In this guide we will provide 50. Pow(x, n)LeetCode Solution with best time and space complexity. The solution to Pow(x, n) problem is provided in various programming languages like C++, Java and python. This will be helpful for you if you are preparing for placements, hackathon, interviews or practice purposes. The solutions provided here are very easy to follow and with detailed explanations.

Table of Contents

50. Pow(x, n)LeetCode Solution image

Problem Statement of Pow(x, n)

Implement pow(x, n), which calculates x raised to the power n (i.e., xn).

Example 1:

Input: x = 2.00000, n = 10
Output: 1024.00000

Example 2:

Input: x = 2.10000, n = 3
Output: 9.26100

Example 3:

Input: x = 2.00000, n = -2
Output: 0.25000
Explanation: 2-2 = 1/22 = 1/4 = 0.25

Constraints:

-100.0 < x < 100.0
-231 <= n 0.
-104 <= xn <= 104

Complexity Analysis

  • Time Complexity: O(\log n)
  • Space Complexity: O(1)

50. Pow(x, n)LeetCode Solution in C++

class Solution {
 public:
  double myPow(double x, long n) {
    if (n == 0)
      return 1;
    if (n < 0)
      return 1 / myPow(x, -n);
    if (n % 2 == 1)
      return x * myPow(x, n - 1);
    return myPow(x * x, n / 2);
  }
};
/* code provided by PROGIEZ */

50. Pow(x, n)LeetCode Solution in Java

class Solution {
  public double myPow(double x, long n) {
    if (n == 0)
      return 1;
    if (n < 0)
      return 1 / myPow(x, -n);
    if (n % 2 == 1)
      return x * myPow(x, n - 1);
    return myPow(x * x, n / 2);
  }
}
// code provided by PROGIEZ

50. Pow(x, n)LeetCode Solution in Python

class Solution:
  def myPow(self, x: float, n: int) -> float:
    if n == 0:
      return 1
    if n < 0:
      return 1 / self.myPow(x, -n)
    if n % 2 == 1:
      return x * self.myPow(x, n - 1)
    return self.myPow(x * x, n // 2)
#code by PROGIEZ

Additional Resources

See also  38. Count and Say LeetCode Solution

Feel free to give suggestions! Contact Us