78. Subsets(回溯)

Posted 张乐乐章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了78. Subsets(回溯)相关的知识,希望对你有一定的参考价值。

 

Given a set of distinct integers, nums, return all possible subsets (the power set).

Note: The solution set must not contain duplicate subsets.

Example:

Input: nums = [1,2,3]
Output:
[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]

 1 class Solution {
 2     
 3     List<List<Integer>> res = new ArrayList<>();
 4     
 5     public List<List<Integer>> subsets(int[] nums) {
 6         Arrays.sort(nums);
 7         help(new ArrayList<>(), nums, 0);
 8         return res;
 9     }
10     private void help(List<Integer> temp,int[] nums,int index){
11         temp = new ArrayList<>(temp);
12         res.add(temp);
13         for(int  i= index;i<nums.length;i++){
14             temp.add(nums[i]);
15             help(temp,nums,i+1);
16             temp.remove(temp.size()-1);
17         }
18     }
19 }

 

以上是关于78. Subsets(回溯)的主要内容,如果未能解决你的问题,请参考以下文章

[leetcode-78-Subsets]

78. Subsets

leetcode-Subsets-78

LeetCode编程训练 - 回溯(Backtracking)

78子集

78. Subsets