Print Unique Subset In C++
class Solution {
public:
    set<vector<int>>s1;
    void solve(vector<int>nums, vector<int>vec)
    {
        if(nums.size()==0)
        {
            sort(vec.begin(),vec.end());
            s1.insert(vec);
            return;
        }
        vector<int>op1=vec;
        vector<int>op2=vec;
        op2.push_back(nums[0]);
        nums.erase(nums.begin()+0);
        solve(nums,op1);
        solve(nums,op2);
    }
    vector<vector<int>> subsetsWithDup(vector<int>& nums) {
        vector<vector<int>>ans;
        vector<int>vec;
        solve(nums,vec);
        for(auto x : s1)
        {
            ans.push_back(x);
        }
        return ans;
    }
};
Comments (0)