Topics
Structured practice tracks organized by pattern and level.
Math & Number Theory
Divisibility, primes, modular arithmetic, and digit tricks.
Arrays
The most fundamental data structure — traversal, searching, and in-place tricks.
Strings
Manipulation, palindromes, pattern checks, and DP on strings.
Hashing
O(1) lookups, frequency counting, and cache design.
Two Pointers
Opposite-end and same-direction pointer patterns.
Sliding Window
Fixed and variable window subarray/substring patterns.
Prefix Sum
Cumulative sums, difference arrays, subarray tricks.
Sorting
Classical algorithms, comparators, quickselect, counting.
Linked Lists
Traversal, reversal, cycles, design.
Stack & Queue
LIFO/FIFO structures, monotonic stack, expression parsing.
Binary Search
Search space halving — index search and search-on-answer.
Recursion & Backtracking
Subsets, permutations, board search, constraint satisfaction.
Trees
Traversals, BST, construction, DP on trees.
Heap / Priority Queue
Top-K, median streams, k-way merge, task scheduling.
Greedy
Local-optimal choices with an exchange-argument proof.
Graphs — BFS & DFS
Traversal on grids and adjacency lists.
Dynamic Programming
The 8 shapes: 1D, knapsack, LIS, LCS, palindrome, DP-on-tree, bitmask, digit.
Trie (Prefix Tree)
Prefix-based dictionary structure for word/XOR problems.
Bit Manipulation
Bitwise operators, XOR tricks, bitmasking as state.
Matrix / 2D Grid
2D transformations, submatrices, grid DP & search.
String Algorithms
Pattern matching — KMP, Z-function, rolling hash, Manacher's.
Segment Tree & Fenwick Tree
Range queries and point/range updates in O(log N).
Graphs — Node-Based
Adjacency-list graphs, DSU, Dijkstra, SCC.