Topics

DSA topics, organized by pattern.

Every interview problem fits a recognizable pattern. Browse by topic to drill the patterns you're weakest on, or to refresh on the canonical examples for each category. Every problem ships with intuition, complexity analysis, and verified code in C++, Java, Python, and Go.

[]Arrays & Hashing
11 problems

Array and hashing problems — the bedrock of coding interviews. Master indexing, prefix sums, and hash-map tricks.

<>Two Pointers
3 problems

Two-pointer problems — palindromes, sorted-array pair sums, and in-place partitioning in O(n) time and O(1) space.

[]Sliding Window
4 problems

Sliding-window problems — find the longest, shortest, or best contiguous subrange that satisfies a constraint.

||Stack
1 problem

Stack problems — parentheses matching, monotonic stacks, expression evaluation, and next-greater-element.

/2Binary Search
2 problems

Binary-search problems — search a sorted array in O(log n), or apply parametric search on the answer space.

->Linked List
5 problems

Linked-list problems — reversal, cycle detection, merge, reorder, and the runner / fast-slow pointer technique.

/\Trees
11 problems

Tree problems — DFS and BFS traversal, BST validation, path sums, and tree construction from traversals.

TTries
3 problems

Trie problems — prefix-tree implementations for word lookup, autocomplete, and prefix-based search.

^Heap / Priority Queue
3 problems

Heap and priority-queue problems — top-K elements, median maintenance, and event scheduling.

<-Backtracking
1 problem

Backtracking problems — combinations, permutations, subsets, word search, and constraint-satisfaction puzzles.

o-oGraphs
7 problems

Graph problems — DFS, BFS, topological sort, union-find, and shortest-path traversal on grids and adjacency lists.

dpDynamic Programming
13 problems

Dynamic programming — memoize overlapping subproblems for problems that look exponential but are polynomial.

>Greedy
1 problem

Greedy problems — locally optimal choices that produce a globally optimal answer when the structure allows it.

[--]Intervals
5 problems

Interval problems — merge, schedule, detect overlap, and the meeting-rooms / non-overlapping family.

#Math & Geometry
0 problems

Math problems — number theory, modular arithmetic, geometry, and pure-math reasoning at the algorithmic boundary.

&Bit Manipulation
5 problems

Bit-manipulation problems — XOR tricks, masks, popcount, and integer encoding without arithmetic.