# Top 20 Dynamic Programming Interview Questions

Dynamic Programming is an algorithmic paradigm that solves a given complex problem by breaking it into subproblems and stores the results of subproblems to avoid computing the same results again. **Following are the most important Dynamic Programming problems asked in various Technical Interviews.**

- Longest Common Subsequence
- Longest Increasing Subsequence
- Edit Distance
- Minimum Partition
- Ways to Cover a Distance
- Longest Path In Matrix
- Subset Sum Problem
- Optimal Strategy for a Game
- 0-1 Knapsack Problem
- Boolean Parenthesization Problem
- Shortest Common Supersequence
- Matrix Chain Multiplication
- Partition problem
- Rod Cutting
- Coin change problem
- Word Break Problem
- Maximal Product when Cutting Rope
- Dice Throw Problem
- Box Stacking
- Egg Dropping Puzzle

## Recommended Posts:

- Commonly Asked C Programming Interview Questions | Set 3
- Commonly Asked C Programming Interview Questions | Set 1
- Commonly Asked C Programming Interview Questions | Set 2
- Bitmasking and Dynamic Programming | Set-2 (TSP)
- Dynamic Programming on Trees | Set 2
- Dynamic Programming on Trees | Set-1
- Greedy approach vs Dynamic programming
- Dynamic Programming | Building Bridges
- Dynamic Programming vs Divide-and-Conquer
- Double Knapsack | Dynamic Programming
- How to solve a Dynamic Programming Problem ?
- Number of Unique BST with a given key | Dynamic Programming
- Overlapping Subproblems Property in Dynamic Programming | DP-1
- Compute nCr % p | Set 1 (Introduction and Dynamic Programming Solution)
- Optimal Substructure Property in Dynamic Programming | DP-2