给定一个整数数组 nums ,其中可能包含重复元素,请你返回这个数组的所有可能子集。
返回的答案中不能包含重复的子集,将答案按字典序进行排序。
数据范围:数组长度满足
,数组中元素大小满足 
class Solution:
def subsets(self , nums: List[int]) -> List[List[int]]:
# write code here
if len(nums)<=1:
return [nums]
res=[]
nums.sort()
def backtrace(start,path):
res.append(path)
add=set()
for i in range(start,len(nums)):
if nums[i] not in add:
add.add(nums[i])
cur_path=path+[nums[i]]
backtrace(1+i, cur_path)
backtrace(0,[])
#res.sort()
return res