zoukankan      html  css  js  c++  java
  • Subsets II

    题目:

    Given a collection of integers that might contain duplicates, S, return all possible subsets.

    Note:

    • Elements in a subset must be in non-descending order.
    • The solution set must not contain duplicate subsets.

    For example,
    If S = [1,2,2], a solution is:

    [
      [2],
      [1],
      [1,2,2],
      [2,2],
      [1,2],
      []
    ]
    

    代码如下:

       void getsubset(set<vector<int> > &subsets,vector<int> &S,int i)
        {
            vector<int> tmp;
            for(int j=0;j<S.size();j++)
            {
                if(i&(1<<j))tmp.push_back(S[j]);
            }
            subsets.insert(tmp);
        }
        vector<vector<int> > subsetsWithDup(vector<int> &S) {
            set<vector<int> > subsets;
            set<vector<int> >::iterator j;
            vector<vector<int> > result;
            sort(S.begin(),S.end());
            int n=S.size();
            for(int i=0;i<1<<n;i++)
            {
                getsubset(subsets,S,i);
            }
            for(j=subsets.begin();j!=subsets.end();j++)
            {
                result.push_back(*j);
            }
            return result;
        }

  • 相关阅读:
    隐式马尔科夫模型
    TCP与UDP协议
    语法分析
    requests发送HTTP请求
    IPv6协议
    IP协议
    路由协议
    Django表单验证
    PDB调试Python程序
    word2vec模型原理与实现
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3106828.html
Copyright © 2011-2022 走看看