Given an integer array nums of unique elements, return all possible subsets (the power set).
The solution set must not contain duplicate subsets. Return the solution in any order.
Example 1:
1 2
   | Input: nums = [1,2,3] Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
 
  | 
 
Example 2:
1 2
   | Input: nums = [0] Output: [[],[0]]
 
  | 
 
Constraints:
1 <= nums.length <= 10
-10 <= nums[i] <= 10  
All the numbers of nums are unique.
给 元素不重复 无序 数组,求所有的子数组,组合问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
   | package leetcode.problems.medium;
  import java.util.ArrayList; import java.util.Arrays; import java.util.List;
  public class Subsets {     public List<List<Integer>> subsets(int[] nums) {         List<List<Integer>> result = new ArrayList<List<Integer>>();         List<Integer> path = new ArrayList<>();         Arrays.sort(nums);
          backtrack(result, path, nums, 0);         return result;     }
      
 
 
 
 
 
      private void backtrack(List<List<Integer>> result, List<Integer> path, int[] nums, int start) {                  result.add(new ArrayList<>(path));         for (int i = start; i < nums.length; i++) {                          path.add(nums[i]);             backtrack(result, path, nums, i+1);             path.remove(path.size() - 1);         }     } }
 
  |