Dynamic Programming
Strategies
Memoization (Top-down)
- make it works first
- draw the tree
- implement & test if the answer is correct (when small cases)
- then make it efficient
- add a memo with base case return values
- store new values in the memo
Tabulation (Bottom-up)
- create a table based on the input
- fill it with default & base-case values
- iterate through to generate the next value based on the current value