问题90:给定一个可能包含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。

image.png
完整代码:
class Solution:
def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:
nums.sort()
def backtracking(cur, start):
ans.append(cur)
for i in range(start, len(nums)):
if i-1 >= start and nums[i] == nums[i-1]:
continue
backtracking(cur + [nums[i]], i + 1)
ans = []
backtracking([], 0)
return ans