打卡题目:leetcode第47题,全排列Ⅱ
相似题目:46
【代码】
class Solution:def permuteUnique(self, nums: List[int]) -> List[List[int]]:def dfs(nums, size, depth, path, used, res):if depth == size:res.append(path.copy())returnfor i in range(size):if not used[i]:if i > 0 and nums[i] == nums[i-1] and not used[i-1]:continueused[i] = Truepath.append(nums[i])dfs(nums, size, depth+1, path, used, res)used[i] = Falsepath.pop()size = len(nums)if size == 0:return []nums.sort()used = [False] * len(nums)res = []dfs(nums, size, 0, [], used, res)return res
