# LeetCode 78 Subsets

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

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

	public List<List<Integer>> subsets3(int[] nums) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
Arrays.sort(nums);
int n = nums.length;
int size = (int) Math.pow(2, n);
for (int i = 0; i < size; i++) {
List<Integer> list = new ArrayList<Integer>();
for (int j = i, index = 0; j > 0; j >>= 1, index++)
/**判断i的2进制表示自右往左第index上的数是否为1*/
if ((j & 1) == 1)
}
return result;
}


	public List<List<Integer>> subsets2(int[] nums) {
List<List<Integer>> result = new ArrayList<>();
Arrays.sort(nums);
getSubsets(result, new ArrayList<Integer>(), nums, 0);
return result;
}

private void getSubsets(List<List<Integer>> result, List<Integer> list, int[] nums, int start) {
for (int i = start; i < nums.length; i++) {
getSubsets(result, list, nums, i + 1);
list.remove(list.size() - 1);
}
}


	public List<List<Integer>> subsets4(int[] nums) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
List<Integer> subSets = new ArrayList<Integer>();
Arrays.sort(nums);
int len;
for (int i = 0; i < nums.length; i++) {
len = result.size();
for (int j = 0; j < len; j++) {
List<Integer> temp = new ArrayList<Integer>(result.get(j));
}
}
return result;
}


• 本文已收录于以下专栏：

## LeetCode78:Subsets

Given a set of distinct integers, nums, return all possible subsets.Note: Elements in a subset must...
• u012501459
• 2015年07月06日 17:33
• 3281

## LeetCode OJ 系列之78 Subsets --Python

Problem: Given a set of distinct integers, nums, return all possible subsets. Note: Elements in...
• ln152315
• 2015年11月18日 22:07
• 915

## leetcode 78. Subsets-数组子集|回溯算法

• happyaaaaaaaaaaa
• 2016年06月07日 17:04
• 4322

## [leetcode-78]subsets(java)

• zdavb
• 2015年08月05日 22:42
• 916

## 两种回溯方法解决子集问题的思路 leetcode 78. Subsets

leetcode 78. Subsets  注意：理解回溯算法尽量采用动态规划的思路。 第一种，例子{1,2,3} ，子集问题即为各位有无两种情况，那么就可以直接搜索下去。 im...
• chengdezhi2011
• 2017年02月16日 10:34
• 559

## leetcode解题之 77. Combinations&78. Subsets&90. Subsets II java 版（求所有子集）

leetcode解题之 Subsets java 版（求所有子集） ，90. Subsets II ，78. Subsets，77. Combinations...
• mine_song
• 2017年04月08日 19:36
• 391

## LeetCode Subsets 和 LeetCode Subsets II

LeetCode Subsets 和 LeetCode Subsets II 给出一个数组生成该数组所有元素的组合。 基本思路先对数组排序，然后循环+dfs，生成指定元素数目为：1,2,...arr...
• worldwindjp
• 2014年04月09日 22:02
• 10668

## LeetCode Subsets(求所有的集合)

Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset mu...
• wuli2496
• 2015年06月06日 14:11
• 706

## LeetCode90:Subsets II

Given a collection of integers that might contain duplicates, nums, return all possible subsets.Note...
• u012501459
• 2015年07月08日 11:12
• 1100

## Leetcode 78 - Subsets（枚举）

• Lzedo
• 2017年02月17日 15:16
• 87

举报原因： 您举报文章：LeetCode 78 Subsets 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)