zoukankan      html  css  js  c++  java
  • 【leetcode】Subsets

    Subsets

    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],
      []
    ]


    采用递归,取当前元素,或者不取当前元素。
     1 class Solution {
     2 
     3 public:
     4 
     5     vector<vector<int> > subsets(vector<int> &S) {
     6 
     7        
     8 
     9         vector<vector<int> > result;
    10 
    11         vector<int> tmp;
    12 
    13         sort(S.begin(),S.end());
    14 
    15         getSubset(result,S,0,tmp);
    16 
    17         return result;
    18 
    19     }
    20 
    21    
    22 
    23     void getSubset(vector<vector<int> > &result,vector<int> &S,int index,vector<int> tmp)
    24 
    25     {
    26 
    27         if(index==S.size())
    28 
    29         {
    30 
    31             result.push_back(tmp);
    32 
    33             return;
    34 
    35         }
    36 
    37        
    38 
    39         getSubset(result,S,index+1,tmp);
    40 
    41         tmp.push_back(S[index]);
    42 
    43         getSubset(result,S,index+1,tmp);
    44 
    45        
    46 
    47     }
    48 
    49 };
     
  • 相关阅读:
    解题报告 poj 1486
    解题报告 比赛
    解题报告 keke 的房子
    解题报告 Tree
    解题报告 聚会
    解题报告 Valentine‘s seat
    解题报告 报数
    解题报告 黑书 Water pail poi 1999
    解题报告 poj 1639
    解题报告 数数
  • 原文地址:https://www.cnblogs.com/reachteam/p/4192422.html
Copyright © 2011-2022 走看看