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]]
For permutations, take one item from the set of choices, and then add it to your running set. You have to do this once for each set, and then continue recursing until the set of choices is empty.
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
= len(nums)
n = []
res
def recurse(nums, choice=[]):
if len(choice) == n:
res.append(choice)for index, num in enumerate(nums):
nums.pop(index)+ [num])
recurse(nums, choice
nums.insert(index, num)
recurse(nums)
return res