90. Subsets II

来源:互联网 发布:horner算法 编辑:程序博客网 时间:2024/05/18 18:52
参考:七月在线,leetcode直播刷题课程链接:https://www.julyedu.com/course/getDetail/5890. Subsets II/* problem describe */Given a collection of integers that might contain duplicates, nums, return all possible subsets.Note: The solution set must not contain duplicate subsets.For example,If nums = [1,2,2], a solution is:[  [2],  [1],  [1,2,2],  [2,2],  [1,2],  []]/* C++ *//* PS:似懂非懂 */class Solution {public:    vector<vector<int>> subsetsWithDup(vector<int>& nums) {            vector<int> path;            vector<vector<int>> result;            result.push_back(path);            sort(nums.begin(),nums.end());            helper(nums,0,path,result);            return result;    }    void helper(vector<int> &nums,int pos,vector<int>& path,vector<vector<int>> &result)    {        if(pos==nums.size())            return ;        for(int i=pos;i<nums.size();i++)        {            path.push_back(nums[i]);            result.push_back(path);            helper(nums,i+1,path,result);            path.pop_back();            while(nums[i]==nums[i+1]) i++;//跳过部分节点            //参考:http://www.cnblogs.com/grandyang/p/4310964.html        }    }}/* 相关链接 *//*链接:http://www.cnblogs.com/grandyang/p/4310964.htmlhttp://blog.csdn.net/u012501459/article/details/46800977http://blog.csdn.net/feliciafay/article/details/18977055*/
原创粉丝点击