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

Machine Learning Projects

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 Comment

Your email address will not be published.