Every problem broken down by pattern, approach, and complexity. No fluff — just what you need to recognize and solve it.
Frequency counting, hash maps, and array manipulation
Converging pointers, fast/slow, and partition techniques
Fixed and variable-size window techniques
LIFO structure for matching, parsing, and monotonic patterns
Divide and conquer on sorted or monotonic data
Pointer manipulation, reversal, and cycle detection
Binary trees, BSTs, traversals, and recursive patterns
Top-K, streaming, and merge patterns
Exhaustive search with pruning
BFS, DFS, union-find, and topological sort
Optimal substructure with single-dimension state
Locally optimal choices that lead to global optima
Merge, insert, and scheduling with interval data