给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。
说明:解集不能包含重复的子集
class Solution:
def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
nums.sort()
res = [[]]
for i in range(len(nums)-1, -1, -1):
for subres in res[:]:
res.append(subres+[nums[i]])
if res.count(res[-1]) > 1:
res.pop()
return res