Instagram
youtube
Facebook
Twitter

Pow(x, n) Leetcode Solution

In this tutorial, we are going to solve a leetcode problem, Pow(x, n)

Task:

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 <= 231-1
  • n is an integer.
  • -104 <= xn <= 104

Solution:

class Solution(object):
    def myPow(self, x, n):
        if n >= 0:
            return self.helper(x, n)
        else:
            return 1 / self.helper(x, -n)
        
    def helper(self, x, n):
        if n == 0:
            return 1
        else:
            if n % 2 == 0:
                return self.myPow(x * x, n/2)
            else:
                return x * self.myPow(x * x, (n-1)/2)

Steps

step1: In this problem, we will be using recursion to approach this problem.

step2: Now, here we will be using the helper function to deal will the +ve and -ve values of n.

step3: Then, we call the helper function from myPow function and inside the helper function we decrease the value of n & multiplying the x recursively.

step4: After we reached the base condition we recursively return the result.