It is one of the most commonly asked approach of problem solving during coding interview.
Dynamic Programming problems can be categorised into two types: Optimisation problems and Combinatorial problems.
| # | Title | Difficulty | Companies |
|---|---|---|---|
1. | Idea of DP : Recursion and time memory tradeoff | ||
2. | Optimal Substructure and Overlapping subproblems Property | ||
3. | Memoization : Top Down Implementation | ||
4. | Tabulation : Bottom Up Implementation | ||
5. | What is Optimization and Combinatorial problems? | ||
6. | Comparison : Divide & Conquer vs Dynamic Programming | ||
7. | Example 1 : Finding nth fibonacci number | EASY | Amazon |
8. | Example 2 : Count of different ways to express N | EASY | |
9. | Example 3 : Longest Common Subsequence | MEDIUM | Amazon Google |
10. | Example 4 : Rod Cutting | MEDIUM | Google |
11. | Example 5 : Longest Palindromic Subsequence | HARD | Amazon LinkedIn PayPal |