"""
给定一个可包含重复数字的序列,返回所有不重复的全排列。
示例:
输入: [1,1,2]
输出:
[
[1,1,2],
[1,2,1],
[2,1,1]
]
"""
def permuteUnique(nums):
res = []
def backtrack(nums, tmp):
if not nums:
res.append(tmp)
return
arr = []
for i in range(len(nums)):
if nums[i] not in arr:
arr.append(nums[i])
else:
continue
backtrack(nums[:i] + nums[i + 1:], tmp + [nums[i]]) # nums[:i]+nums[i+1:]相当于把nums[i]提取出来
backtrack(nums, [])
return res
nums = [1, 2, 1,1]
print(permuteUnique(nums))
47_全排列Ⅱ
最新推荐文章于 2023-03-18 17:20:46 发布