Concept Flow - Overlapping Subproblems and Optimal Substructure
Start Problem
Check if solution known?
Yes→Return stored solution
No
Divide problem into subproblems
Recursively solve subproblems
Combine subproblem solutions
Store solution for reuse
Return solution
End
The problem is broken into smaller parts. If a part was solved before, reuse it. Otherwise, solve it and save the answer for later.