代码随想录:子集二

class Solution {
public:
    vector<int> path;
    vector<vector<int>> res;
    vector<vector<int>> subsetsWithDup(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        rb(nums,0);
        return res;
    }

    void rb(vector<int>& nums,int start){
        res.push_back(path);
        for(int i=start;i<nums.size();i++){
            if(start<i&&nums[i]==nums[i-1])continue;
            path.push_back(nums[i]);
            rb(nums,i+1);
            path.pop_back();
        }
    }
};
posted @ 2025-01-22 21:04  huigugu  阅读(5)  评论(0)    收藏  举报