Concept Flow - DP vs Recursion vs Greedy Choosing the Right Tool
Start Problem
Check Problem Type
Is problem optimal substructure?
Use Greedy Approach
Is problem overlapping subproblems?
Use Simple Recursion
Use Dynamic Programming
Solve Problem
Decide approach by checking if problem has optimal substructure and overlapping subproblems to choose between greedy, recursion, or dynamic programming.
