[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/lakshitcodes/DSA_Problems/main/LeetCode/0090_SubsetsII.cpp [Back]  [Original]

#include 
using namespace std;

// Question Link : https://leetcode.com/problems/subsets-ii/

class Solution
{
public:
    void solve(int index, vector &curr, vector &nums,
               vector &ans)
    {
        ans.push_back(curr);
        for (int i = index; i < nums.size(); i++)
        {
            if (i > index && nums[i] == nums[i - 1])
            {
                continue;
            }
            curr.push_back(nums[i]);
            solve(i + 1, curr, nums, ans);
            curr.pop_back();
        }
    }
    vector subsetsWithDup(vector &nums)
    {
        std::ios_base::sync_with_stdio(false);
        std::cin.tie(NULL);
        sort(nums.begin(), nums.end());
        vector ans;
        vector curr;
        solve(0, curr, nums, ans);
        return ans;
    }
};

Web Proxy Viewer  |  New URL  |  Original Page