Advertisement
Guest User

78. Subsets | Time: O (n*2^n) | Space: O (n*2^n)

a guest
Aug 20th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.70 KB | None | 0 0
  1. // Problem: https://leetcode.com/problems/subsets/
  2. // Solution: https://www.algoexpert.io/questions/Powerset
  3.  
  4. import java.util.ArrayList;
  5.  
  6. class Program {
  7.   // O(n*2^n) time | O(n*2^n) space
  8.   public static ArrayList<ArrayList<Integer>> powerset(ArrayList<Integer> array) {
  9.     ArrayList<ArrayList<Integer>> subsets = new ArrayList<ArrayList<Integer>>();
  10.     subsets.add(new ArrayList<Integer>());
  11.     for (Integer ele : array) {
  12.       int length = subsets.size();
  13.       for (int i = 0; i < length; i++) {
  14.         ArrayList<Integer> currentSubset = new ArrayList<Integer>(subsets.get(i));
  15.         currentSubset.add(ele);
  16.         subsets.add(currentSubset);
  17.       }
  18.     }
  19.     return subsets;
  20.   }
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement