All Patterns
Pattern 10
Subsets / Combinations
Build all subsets by starting with an empty set and for each element, creating new subsets by adding it to every existing subset (BFS-style expansion).
Time
O(n · 2ⁿ)
Space
O(n · 2ⁿ)
Recognize it when
- Generate all subsets / power set
- Generate all permutations
- Generate all combinations
- Count distinct combinations summing to target
Progress0/5
0 solved0 attempted
Questions — ordered by difficulty
#78Medium
Subsets
Return all possible subsets (power set) of an array of unique integers.
arraybacktrackingbit-manipulation
#90Medium
Subsets II
Return all possible subsets of an array that may contain duplicates. No duplicate subsets.
arraybacktracking
#46Medium
Permutations
Return all possible permutations of an array of distinct integers.
arraybacktracking
#77Medium
Combinations
Return all combinations of k numbers chosen from range [1, n].
backtracking
#17Medium
Letter Combinations of a Phone Number
Return all possible letter combinations that a phone number could represent.
stringbacktrackinghash-map