The highest-frequency surface in any interview loop. Master the four pattern families here before anything else.
★★★★★Priority 5 of 5 — Must know — expect it in almost every loop Array fundamentals — in-place rewriting, rotation, partitioning, and the index-as-hash trick. Owns the operations; the pattern families (windows, pointers, prefix sums) each have their own file.
★★★★★Priority 5 of 5 — Must know — expect it in almost every loop Windows that grow and shrink on a condition — fixed-size, variable-size, at-most-k, and exactly-k by subtraction; owns the expand/contract loop and the six canonical window templates.
★★★★★Priority 5 of 5 — Must know — expect it in almost every loop The everyday string catalogue — character-level two-pointer scans, frequency and anagram signatures, run-length grouping, tokenising, parsing and in-place rewriting — while the worked-solution archive, the language-level string API, palindromes, substring search and two-sequence DP each live in their own sheet.
★★★★★Priority 5 of 5 — Must know — expect it in almost every loop The two-pointer family on arrays and strings — opposite-ends convergence, fast/slow, expand-from-centre and the read/write partition, with one canonical template for each; window problems that grow and shrink on a condition live elsewhere.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The worked-solution archive behind array.md: thirteen problems that are genuinely about rewriting an array in place or using its indices as storage, grouped by the trick each one turns on.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The worked-solution archive behind matrix.md: seventeen problems grouped by the geometry or technique each one turns on — traversal order, in-place transformation, staircase search, grid search, 2D DP, and row-pair compression.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The 2D grid as its own topic — traversal geometry (spiral, diagonal, rotate, transpose), in-place marking, and index↔coordinate arithmetic.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The k-sum family specifically — 2Sum through kSum, the sort-then-converge recursion, and duplicate handling.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The palindrome family — expand-from-center, two-pointer verification, palindromic DP, and Manacher — and how to tell which a problem needs.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds Prefix / running sums — subarray sums, 2D prefix sums, prefix + hashmap counting.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The six prefix-sum templates that borrow another structure or another identity: the complement trick, the monotonic deque for arrays with negatives, row-pair compression for 2D, prefix XOR, the sparse difference array via a hash map, and the prefix-sum-on-a-tree counting map.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The sliding-window techniques a first pass should skip: deque-maintained window extrema, the at-most-K-distinct family, exactly-K counting beyond one worked instance, and the windows whose key is not a character — complement, word-level chunks, index-bounded value buckets and sorted intervals; the six must-know templates stay in the main sheet.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The worked sliding-window LeetCode catalogue, one canonical solution per problem per language, each filed under the template it instantiates; the templates, the concepts and the decision tables stay in the main sliding-window sheet.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The worked string LeetCode archive, one canonical solution per problem per language, each filed under the parent sheet's template that it instantiates; the concepts, the pattern catalogue and the templates themselves stay in the main string sheet.
★★★★☆Priority 4 of 5 — High value — a gap here costs you rounds The worked two-pointer LeetCode catalogue, one canonical solution per problem per language, grouped by the template it instantiates; the concepts, pointer types and templates themselves stay in the main two-pointer sheet.
★★★☆☆Priority 3 of 5 — Worth knowing — usually a variant of a must-know pattern Digit-by-digit addition across the four input shapes an interviewer will hand you: strings, integers, arrays, and linked lists.
★★★☆☆Priority 3 of 5 — Worth knowing — usually a variant of a must-know pattern O(1) range update, O(n) rebuild — the inverse of a prefix sum.
★★★☆☆Priority 3 of 5 — Worth knowing — usually a variant of a must-know pattern The worked-solution archive behind prefix_sum.md: the eight problems the templates do not already solve end to end, grouped by which prefix-sum shape they need.
★★★☆☆Priority 3 of 5 — Worth knowing — usually a variant of a must-know pattern Substring search only — KMP's failure function, Rabin-Karp rolling hash, and the built-in-indexOf-vs-KMP-vs-hash decision.
★★★☆☆Priority 3 of 5 — Worth knowing — usually a variant of a must-know pattern The language mechanics of strings: Python slicing and methods, Java String and StringBuilder, character classification and case conversion, char arithmetic, the split/join traps and the build-performance rules — not the algorithms that use them.
★★☆☆☆Priority 2 of 5 — Niche — read once, revisit only if a company is known to ask Heavier string machinery — suffix structures, Z-algorithm, Manacher, and string-DP — the parts too specialised for the main string doc.