DFS
class Solution:
def permutation(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
res = []
self.helper(nums,[],res)
return res
def helper(self, nums, visit, res):
if len(nums) == len(visit):
arr = list(map(lambda x: nums[x],visit))
if arr not in res: res.append(arr)
return
for i in range(len(nums)):
if i in visit:
continue
visit.append(i)
self.helper(nums, visit, res)
visit.pop()