数组 & DFS
经典题型 力扣46.47 全排列
力扣 46 可重复
class Solution(object): def permuteUnique(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ L = len(nums) res = [[]] def storage(nums, ans): if not nums: res.append(ans) return else: for i in range(len(nums)): storage(nums[:i]+nums[i + 1:], ans + [nums[i]]) storage(nums, []) res.pop(0) return res
47 不可重复
class Solution(object): def permuteUnique(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ ans = [] visted = [] def dfs(nums, path): if not nums: ans.append(path) return temp = list(set(nums)) for idx, i in enumerate(temp): nums.remove(i) dfs(nums, path + [i]) nums.append(i) dfs(nums, []) return ans