Patterns library.
37 decision pages and archetype catalogues for the patterns that come up in every coding interview. Each page is a self-contained 2,000–3,000-word guide that names the discriminator, gives a one-line routing rule, and points at the signature problem. Use it when you've classified a problem as "looks like sliding window" but aren't sure whether it wants the fixed or variable form.
- Patterns
- 37
- Decision pages
- 22
- Archetype pages
- 15
- Words
- 91,380
Foundations
3 patterns- Decision
Recursion vs iteration: when does iteration matter
A decision page for Recursion vs iteration: when does iteration matter.
15 min - Decision
Recursion vs DP: when there is no overlap (tree traversal) vs when there is
A decision page for Recursion vs DP: when there is no overlap (tree traversal) vs when there is.
15 min - Decision
When to reach for bit manipulation
A decision page for When to reach for bit manipulation.
15 min
Data Structures
4 patterns- Decision
Hash map vs sorted map: O(1) average vs O(log n) ordered
A decision page for Hash map vs sorted map: O(1) average vs O(log n) ordered.
15 min - Decision
Array vs linked list: when each wins
A decision page for Array vs linked list: when each wins.
15 min - Decision
Stack vs queue vs deque, picking the right LIFO/FIFO
A decision page for Stack vs queue vs deque, picking the right LIFO/FIFO.
15 min - Decision
Trie vs hash map vs sorted set: the prefix-query decision
A decision page for Trie vs hash map vs sorted set: the prefix-query decision.
15 min
Search, Sort, & Selection
4 patterns- Decision
Quicksort vs mergesort vs heapsort, picking your sort
A decision page for Quicksort vs mergesort vs heapsort, picking your sort.
15 min - Decision
Binary search vs linear scan, and binary search on the answer
A decision page for Binary search vs linear scan, and binary search on the answer.
15 min - Decision
Quickselect vs heap for top-K
A decision page for Quickselect vs heap for top-K.
15 min - Archetype
Top-K via heap or quickselect
A decision page for Top-K via heap or quickselect.
15 min
Pointers, Window, Prefix
6 patterns- Decision
Two pointers vs sliding window: the lookalikes
A decision page for Two pointers vs sliding window: the lookalikes.
15 min - Archetype
Sliding window archetypes
A decision page for Sliding window archetypes.
15 min - Archetype
Two-pointer archetypes: opposite-ends, fast-slow, partition, in-place dedup, merge-from-end
A decision page for Two-pointer archetypes: opposite-ends, fast-slow, partition, in-place dedup, merge-from-end.
15 min - Archetype
Prefix-sum archetypes (incl. prefix-sum + hash, prefix XOR, difference array, 2D)
A decision page for Prefix-sum archetypes (incl. prefix-sum + hash, prefix XOR, difference array, 2D).
15 min - Archetype
Merge intervals archetypes
A decision page for Merge intervals archetypes.
15 min - Archetype
Sweep line archetypes
A decision page for Sweep line archetypes.
15 min
Stack & Queue
3 patternsTrees & Heaps
6 patterns- Decision
Heap vs sorted array vs balanced BST vs language-sorted-set
A decision page for Heap vs sorted array vs balanced BST vs language-sorted-set.
15 min - Archetype
Two-heap median archetypes: when one heap is not enough
A decision page for Two-heap median archetypes: when one heap is not enough.
15 min - Archetype
K-way merge and cursor heap
A decision page for K-way merge and cursor heap.
15 min - Decision
Iterative vs Morris vs recursive tree traversal
A decision page for Iterative vs Morris vs recursive tree traversal.
15 min - Decision
BFS vs DFS for trees: level-order vs in/pre/post-order semantics
A decision page for BFS vs DFS for trees: level-order vs in/pre/post-order semantics.
15 min - Archetype
Cyclic sort archetypes: missing, duplicate, and first-positive in a [1..n] permutation-shaped array
A decision page for Cyclic sort archetypes: missing, duplicate, and first-positive in a [1..n] permutation-shaped array.
15 min
Graphs
5 patterns- Decision
BFS vs DFS for graphs: when each is correct
A decision page for BFS vs DFS for graphs: when each is correct.
15 min - Decision
Dijkstra vs Bellman-Ford vs 0-1 BFS vs A*, shortest-paths decision tree
A decision page for Dijkstra vs Bellman-Ford vs 0-1 BFS vs A*, shortest-paths decision tree.
15 min - Decision
Kruskal vs Prim, MST decision
A decision page for Kruskal vs Prim, MST decision.
15 min - Decision
Union-Find vs DFS for connectivity
A decision page for Union-Find vs DFS for connectivity.
15 min - Decision
Topological sort: Kahn vs DFS-based
A decision page for Topological sort: Kahn vs DFS-based.
15 min
Dynamic Programming & Backtracking
6 patterns- Decision
Memoization vs tabulation, top-down vs bottom-up
A decision page for Memoization vs tabulation, top-down vs bottom-up.
15 min - Decision
Greedy vs DP: when greedy is provably correct
A decision page for Greedy vs DP: when greedy is provably correct.
15 min - Decision
Backtracking vs DP: overlapping subproblems vs not
A decision page for Backtracking vs DP: overlapping subproblems vs not.
15 min - Archetype
Tree DP archetypes
A decision page for Tree DP archetypes.
15 min - Archetype
Bitmask DP archetypes
A decision page for Bitmask DP archetypes.
20 min - Archetype
Backtracking template + pruning
A decision page for Backtracking template + pruning.
20 min
No patterns match that search
Try a different query, or clear the filters.