题目描述
给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集。
思路
代码
class Solution:
def subsetsWithDup(self,nums:List[int]) -> List[List[int]]:
res = []
n = len(nums)
nums.sort()
def backtrack(i, tmp):
res.append(tmp)
for j in range(i,n):
if j > i and nums[i] == nums[i-1]:
continue
backtrack(j+1,tmp + [nums[j]])
backtrack(0,[])
return res