Loading…
Recognise the Dynamic Programming pattern once — then solve any problem that uses it. Below are every Dynamic Programming problem we index, grouped by the module that teaches them.
Where this pattern shows up
Pattern guide
Overview
The Dynamic Programming pattern is one of the reusable techniques that experienced candidates spot instantly. Rather than memorising individual problems, strong interviewees recognise that a new question "is just Dynamic Programming" and reach for the matching template. That recognition is exactly what this collection is designed to build.
We index 57 problems that use the Dynamic Programming pattern (4 easy, 46 medium, 7 hard), each worked brute-force → optimal in Java and Python with line-by-line explanations. Solving them back-to-back is the fastest way to internalise when and how to apply Dynamic Programming.
Pattern-first practice compounds: once Dynamic Programming is automatic, you'll see it inside problems that never mention it by name.
Study playbook
Common pitfalls
Frequently asked
Keep exploring