Top 10 Dynamic programming problems for interviews

Vivek Srivastava
Techie Delight
Dec 12, 2018

--

A Dynamic programming a method for solving a complex problem by breaking it down into a collection of simpler subproblems, solving each of those subproblems just once, and storing their solutions. The next time the same subproblem occurs, instead of recomputing its solution, one simply looks up the previously computed solution, thereby saving computation time. This technique of storing solutions to subproblems instead of recomputing them is called memoization.

Following are the top 10 problems that can easily be solved using Dynamic programming:

  1. Longest Common Subsequence
  2. Shortest Common Supersequence
  3. Longest Increasing Subsequence problem
  4. The Levenshtein distance (Edit distance) problem
  5. Matrix Chain Multiplication
  6. 0–1 Knapsack problem
  7. Partition problem
  8. Rod Cutting
  9. Coin change problem
  10. Word Break Problem

Thank you.

--

--