力扣刷题记录71.1-----90. 子集 II


一、题目

在这里插入图片描述

二、代码

class Solution
{
public:
     
    vector<vector<int>> return_vector;
    vector<int> path;
    void back_track(int start_point,vector<int>& nums)
    {
       int i,j;
       return_vector.push_back(path);
       for(i=start_point;i<nums.size();i++) //横向重复  无意义
       {
           if(i!=start_point&&nums[i]==nums[i-1]) continue;
           path.push_back(nums[i]);
           back_track(i+1,nums);
           path.pop_back();
       }

    }
    vector<vector<int>> subsetsWithDup(vector<int>& nums) 
    {
       return_vector.clear();
       path.clear();
       sort(nums.begin(),nums.end());
     
       back_track(0,nums);
       return return_vector;
    }
};

三、运行结果

在这里插入图片描述


版权声明:本文为taiyuezyh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。