Permutation
46 Permutation I
def permute(self, nums: List[int]) -> List[List[int]]:
res = []
visit = [False] * len(nums)
self.backtrack([], nums, visit, res)
return res
def backtrack(self, cand, nums, visit, res):
if len(cand) == len(nums):
res.append(cand.copy())
return
for i in range(len(nums)):
if visit[i]: continue
visit[i] = True
self.backtrack(cand + [nums[i]], nums, visit, res)
visit[i] = False47 Permutation II
Last updated