题目描述:
给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。
解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。
解析:
这题的重点在于数组包含重复元素,而结果不能包含重复子集。
解法一:
用set记录子集,最后赋给vector,这样就不用考虑重复元素了。
解法二:
先对数组排序,对与前一个元素相同的元素,跳过不处理,这样就避免了重复子集。
class Solution {
public:
vector> subsetsWithDup(vector& nums) {
sort(nums.begin(), nums.end());
ans.push_back(vector());
bfs(nums,0);
return ans;
}
void bfs(vector& nums, int index){
for(int i=index;i> ans;
vector res;
};



