PatternsPractice and reference
Sources
The explanations in this guide are written for it, covering standard techniques. The sources below offer study plans, formal algorithm references, language documentation, and research on learning. None of them proves that a certain number of patterns is enough, or guarantees an interview result.
S1. NeetCode, How to Prepare for Coding Interviews. A practical guide that stresses fundamentals, practicing problems grouped by pattern, and repetition. Its advice isn't from a controlled study. https://blog.neetcode.io/p/prepare-coding-interviews
S2. Yangshun Tay, Grind 75 FAQ. Explains how the list picks questions, covers topics, and mixes them. A useful study plan, though no single list is enough for everyone. https://www.techinterviewhandbook.org/grind75/faq
S3. Sean Prashad, Leetcode Patterns. A free list of practice problems with tips for choosing an approach. Treat each tip as an idea to check, not a rule. https://seanprashad.com/leetcode-patterns/
S4. USACO Guide, How to Practice. Collects different advice from competitive programmers on difficulty, when to read solutions, coding, and productive effort. https://usaco.guide/general/practicing
S5. Margulieux, Morrison, and Decker, 2020. Reducing withdrawal and failure rates in introductory programming with subgoal labeled worked examples. In a semester-long study of 265 students, worked examples with labeled steps raised early quiz scores and reduced failures and withdrawals. Average exam scores didn't improve significantly. So step-by-step explanations help, but this doesn't show lasting mastery. https://doi.org/10.1186/s40594-020-00222-7
S6. Roediger and Karpicke, 2006. Test-Enhanced Learning. Practicing recall helped people remember prose passages later better than rereading did. Applying this to rebuilding algorithms is a reasonable guess, not a tested result. https://learninglab.psych.purdue.edu/downloads/2006/2006_Roediger_Karpicke_PsychSci.pdf
S7. Rohrer, Dedrick, Hartwig, and Cheung, 2020, published online 2019. A Randomized Controlled Trial of Interleaved Mathematics Practice. Across 54 seventh-grade classes, mixing problem types in practice raised scores on a later test. The subject was school math, not LeetCode. https://files.eric.ed.gov/fulltext/ED595322.pdf
S8. Gick and Holyoak, 1983. Schema Induction and Analogical Transfer. Comparing similar examples helped people pull out the shared idea, which helped them apply it to new problems. That's why this guide compares problems side by side. https://doi.org/10.1016/0010-0285(83)90002-6
S9. CP-Algorithms, Binary Search. Covers yes/no tests that flip once, what the search boundaries keep true, and binary search on the answer. https://cp-algorithms.com/num_methods/binary_search.html
S10. Rust standard library, BinaryHeap. Documents ordering, Reverse, the operations, and their costs. https://doc.rust-lang.org/std/collections/struct.BinaryHeap.html
S11. CP-Algorithms, Dijkstra. Explains why edges must not be negative, and why each settled distance is final. https://cp-algorithms.com/graph/dijkstra.html
S12. CP-Algorithms, Disjoint Set Union. Explains roots, path compression, union by size or rank, and the average cost per operation. https://cp-algorithms.com/data_structures/disjoint_set_union.html
S13. Rust standard library, Collections. Describes when to use each collection and what its operations cost. https://doc.rust-lang.org/std/collections/index.html
S14. The Rust Programming Language, Storing UTF-8 Encoded Text with Strings. Explains bytes, characters, indexing, and how strings are stored. https://doc.rust-lang.org/book/ch08-02-strings.html
S15. AlgoMonster, algorithm selection flowchart and curriculum. A source of prompts for choosing a technique. The flowchart suggests approaches to try; it doesn't prove any of them correct. https://algo.monster/flowchart
S16. CP-Algorithms, algorithm reference index. A directory of advanced graph, string, math, and data structure techniques. Read each technique's assumptions and proof before using it. https://cp-algorithms.com/
The study methods in Chapters 1 and 26 are this guide's recommendations, informed by these sources. Comparing related problems comes from S8; explaining each step comes from S5. Whether the advice works for you shows up in one place: solving problems on your own, days later.