Dynamic Programming
Dynamic Programming is an incredibly confusing topic when you first start, it is good to try recognizing commonly occurring patterns to reduce the amount of head scratching you do
Recognizing DP problems
- Minimizing/maximizing: 
- Number of ways: 
Steps to solving DP
- Identify states 
- Identify state transitions 
- Implement top-down 
- Convert to bottom-up 
Types of DP
- Linear sequence 
- Grid 
- Two sequences 
Common recurrence relations
Recursive to iterative
Optimizing space
Last updated