Tags
Drill problems by technique.
Tags are secondary labels that cut across the main topic map. Use them to focus on specific tools and patterns: hash tables, DFS, matrix traversal, sorting, recursion, and more.
Problems centered on iterating, indexing, and transforming linear arrays.
Recursive search with pruning — combinations, permutations, word search, Sudoku.
Problems searching a sorted space or applying parametric search on the answer.
Problems on binary tree traversal, construction, path sums, and BST validation.
Problems exploiting bitwise operators — XOR tricks, masks, popcount, integer encoding.
BFS problems for shortest paths, level traversal, and connected components.
DFS problems on trees, graphs, and grids — recursion, backtracking, post-order.
API and data-structure design problems — caches, iterators, streaming systems.
Problems solved by splitting into independent halves and merging results.
Problems solved via memoization or tabulation over overlapping subproblems.
Graph problems — adjacency, traversal, cycle detection, topological sort, union-find.
Problems where locally-optimal choices lead to a globally-optimal answer.
Problems solved with hash maps or sets for O(1) lookup, deduplication, or grouping.
Problems requiring quick access to min/max — top-K, schedulers, median maintenance.
Problems on intervals — merging, scheduling, overlap detection, meeting rooms.
Singly and doubly linked-list problems — reversal, cycle detection, merge, reorder.
Problems requiring number theory, modular arithmetic, geometry, or pure math reasoning.
Problems on 2D grids — rotation, traversal, in-place updates, spiral order.
Problems using FIFO order — BFS, level traversal, or scheduling.
Problems solved by recursive decomposition into smaller sub-problems.
Problems using a moving window over an array or string to compute a contiguous-subrange property.
Problems where sorting the input is a key step — counting, intervals, two-pointers.
Problems requiring LIFO order — parentheses, monotonic stacks, expression evaluation.
Problems involving string parsing, comparison, palindromes, or transformations.
DAG problems — course scheduling, build order, dependency resolution.
General tree problems including binary, n-ary, and BST variants.
Prefix-tree problems — word lookup, autocomplete, prefix search.
Problems using two indices that move toward, away, or alongside each other to scan in linear time.
Disjoint-set problems — connectivity, cycle detection, Kruskal's algorithm.