Filters

Difficulty

Challenge Type

Access Level

Dynamic Programming Demystified

Course Modules

Foundational Phase module

Recursion

Recursive Relations and Single Base Cases
straightforwardtutorial
Recursive Relations and Multiple Base Cases
straightforwardtutorial
Spot the Recursive Relationship I
straightforwardknowledge
Spot the Recursive Relationship II
straightforwardknowledge
Spot the Recursive Relationship III
straightforwardknowledge
Spot the Recursive Relationship IV
moderately_challengingknowledge

Memoization

Avoiding Unnecessary Computation with Memoization
straightforwardtutorial
Memoization Practice Problem I
straightforwardcoding
Memoization Practice Problem II
straightforwardcoding

Dynamic Programming Basics

Divide and Conquer: Dividing a Problem into Subproblems (Intro)
straightforwardtutorial
Intro to Dynamic Programming (DP)
straightforwardtutorial
Top-down Approach
straightforwardtutorial
Top-down DP Practice Problem I
straightforwardcoding
Top-down DP Practice Problem II
straightforwardcoding
Top-down DP Practice Problem III
moderately_challengingcoding
Top-down DP Practice Problem IV
moderately_challengingcoding
Bottom-up Approach
straightforwardtutorial
Bottom-up DP Practice Problem I
straightforwardcoding
Bottom-up DP Practice Problem II
moderately_challengingcoding
Bottom-up DP Practice Problem III
moderately_challengingcoding

Learning Phase: Advanced Dynamic Programming module

Dynamic Programming Problems in Disguise

How to Recognize Dynamic Programming Problems I
straightforwardtutorial
How to Recognize Dynamic Programming Problems II
straightforwardtutorial

Dynamic Programming Extra Challenges

Dynamic Programming Extra Challenge I
moderately_challengingcoding
Dynamic Programming Extra Challenge II
moderately_challengingcoding
Dynamic Programming Extra Challenge III
challengingcoding

3D Dynamic Programming

Introduction to 3D Dynamic Programming
straightforwardtutorial
3D Dynamic Programming Practice Problem I
straightforwardcoding
3D Dynamic Programming Practice Problem II
moderately_challengingcoding
3D Dynamic Programming Practice Problem III
challengingcoding

Interview Training Phase module

Past Interview Problems

Past Interview Problem I (Google)
moderately_challengingcoding
Past Interview Problem II (Amazon)
moderately_challengingcoding
Past Interview Problem III (DataBricks)
moderately_challengingcoding
Past Interview Problem IV (Google)
challengingcoding
Past Interview Problem V (Multiple Companies)
challengingcoding

Avoid Surprises with our Mock Interview Service

Assess your interview readiness objectively, and uncover any weaknesses before, not during the actual interview. Try our tailored mock interviews which help you prepare under realistic conditions.

FREE System Design Workshop

Join our next system design interview prep workshop for those targeting FAANG+ companies. It's super casual, ask any questions, work on a real interview problem, get feedback, and hang out with others on the interview prep journey.

AI-Powered Mock Interviews

Want to practice real interview questions, under more realistic conditions than leetcode problems? Then try past interview questions in the presence of an AI interviewer to see how ready you are.