[Solved] Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.

Table of Contents

Question

Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.

Example 1:

Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

Example 2:

Input: nums = [0,1]
Output: [[0,1],[1,0]]

Example 3:

Input: nums = [1]
Output: [[1]]

Constraints:

  • 1 <= nums.length <= 6
  • -10 <= nums[i] <= 10
  • All the integers of nums are unique.

Python Solution

class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        return(self.rec(nums))

    def rec(self,lst):
        if len(lst)==0:
            return []
        elif len(lst)==1:
            return [lst]
        else:
            l = []
            for i in range(len(lst)):
                x = lst[i]
                y = lst[:i]+lst[i+1:]
                for p in self.rec(y):
                    l.append([x]+p)
            return l

Leave a Reply

Your email address will not be published. Required fields are marked *