zoukankan      html  css  js  c++  java
  • [LeetCode] Subsets (bfs的vector实现)

    Given a set of distinct integers, 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,3], a solution is:

    [
      [3],
      [1],
      [2],
      [1,2,3],
      [1,3],
      [2,3],
      [1,2],
      []
    ]
    
    class Solution {
    public:
        vector<vector<int> > subsets(vector<int> &S) {
            vector<vector<int> > res;
            int len = S.size();
            vector<int> temp0,temp;
            res.push_back(temp);
            int start = 0,end = 1;
            
                
                while(start < end)
                {
                    temp = res[start];
                    temp0 = temp;
                    start++;
                    
                    int n = 0;
                    for(int i=0;i<len;i++){
                        if(find(temp.begin(),temp.end(),S[i])==temp.end()){
                            temp.push_back(S[i]);
                            sort(temp.begin(),temp.end());
                            if(find(res.begin(),res.end(),temp)==res.end()){
                               res.push_back(temp);
                               n++;
                            }    
                            temp = temp0;
                        }//end if
                    }//end for
                    end += n;
                }//end while
            return res;
        }//end func
    };
  • 相关阅读:
    Java技术 第六次实验 计科1501 胡开辉
    Java技术 第五次实验 计科1501 胡开辉
    Java第四次作业
    Java第三次作业
    Css新增内容
    Html5新增特性
    Jquery图集
    选项卡
    轮播图
    标准命名
  • 原文地址:https://www.cnblogs.com/Xylophone/p/3915101.html
Copyright © 2011-2022 走看看