LeetCode Subsets II
class Solution {
public:
void subset(vector<int>& nums,set < vector < int > > &ans,vector < int > temp,int idx,int n){
if(idx==n)
{
ans.insert(temp);
return ;
}
subset(nums,ans,temp,idx+1,n);
temp.push_back(nums[idx]);
subset(nums,ans,temp,idx+1,n);
}
vector<vector<int>> subsetsWithDup(vector<int>& nums) {
vector < vector < int > > a;
set < vector < int > > ans;
vector < int > temp;
int n=nums.size();
if(n==0)
return a;
sort(nums.begin(),nums.end());
subset(nums,ans,temp,0,n);
vector < vector < int > > b(ans.begin(),ans.end());
return b;
}
};
No comments:
Post a Comment