【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 };
时间: 2024-12-28 10:28:36

【leetcode】Subsets的相关文章

【LeetCode】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 solutio

【LeetCode】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,

【leetcode】Subsets (Medium) ☆

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. 就是找出数字的全部子集. 我的思路: 设输入是 1  2  3  4 先把输入从小到大排序 长度 0 : [] 长度 1 : 把输入数据从第一

【leetcode】Subsets II

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 so

【leetcode】Subsets II (middle) ☆

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:

【LeetCode】Subsets (2 solutions)

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,

【leetcode】Generate Parentheses

题目: 给定整数n,返回n对匹配的小括号字符串数组. For example, given n = 3, a solution set is: "((()))", "(()())", "(())()", "()(())", "()()()" 分析: 这种问题的模式是:1)问题的解有多个 ,2)每个解都是由多个有效的 "步骤" 组成的,3)变更以有解的某个或某些"步骤"

【LeetCode】Implement strStr()

Implement strStr() Implement strStr(). Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack. 标准KMP算法.可参考下文. http://blog.csdn.net/yaochunnian/article/details/7059486 核心思想在于求出模式串前缀与后缀中重复部分,将重复信息保存在n

【LeetCode】Add Two Numbers

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. Input: (2 -> 4 -> 3) + (5 -> 6 ->