Dynammic Programming Decoded
Dynammic Programming Decoded
Dynammic Programming Decoded
( RIDDHI DUTTA )
Connect with me on Linkedin.
Connect with me on Instagram.
DISCLAIMER - The problems have been sorted based on relevance and difficulty.
Similar problems are grouped together.
1D - DP
1. https://leetcode.com/problems/fibonacci-number/
2. https://practice.geeksforgeeks.org/problems/count-ways-to-reach-the-nth-stair-15871156
20/1 (VVI for Interviews)
3. https://www.geeksforgeeks.org/ways-paint-stairs-two-colors-two-adjacent-not-yellow/
(Asked in Amazon)
4. https://www.hackerearth.com/problem/algorithm/utkarsh-and-jumps/
5. https://practice.geeksforgeeks.org/problems/bbt-counter4914/1
6. https://leetcode.com/problems/unique-binary-search-trees/ (Asked in Amazon and
Google)
7. https://www.hackerearth.com/practice/algorithms/dynamic-programming/introduction-to-d
ynamic-programming-1/practice-problems/algorithm/roy-and-coin-boxes-1/
8. https://www.hackerearth.com/practice/algorithms/dynamic-programming/introduction-to-d
ynamic-programming-1/practice-problems/algorithm/number-of-rs-1/
9. https://leetcode.com/problems/perfect-squares/ (Asked in Amazon and Google)
10. https://leetcode.com/problems/arithmetic-slices/ (Asked in Amazon)
11. https://practice.geeksforgeeks.org/problems/consecutive-1s-not-allowed1912/1
12. https://leetcode.com/problems/house-robber/ (VVVVVI for Interviews)
13. https://leetcode.com/problems/house-robber-ii/
14. https://leetcode.com/problems/longest-increasing-subsequence/ (VVVI but learn the DP
solution only for clearing your concept as it will help you to solve similar kind of
problems. However in a real interview there is an O(NlogN) solution which will be
expected. DP Solution will cost you O(N^2)
15. https://practice.geeksforgeeks.org/problems/box-stacking/1 (Asked in Amazon)
16. https://www.geeksforgeeks.org/maximum-length-chain-of-pairs-dp-20/ (Asked in
Amazon)
17. https://practice.geeksforgeeks.org/problems/longest-bitonic-subsequence0824/1 (Asked
in Amazon)
18. https://www.codechef.com/problems/ALTARAY
19. https://www.codechef.com/ZCOPRAC/problems/ZCO14002
20. https://www.codechef.com/ZCOPRAC/problems/ZCO14004/
21. https://www.codechef.com/ZCOPRAC/problems/ZCO12004/
22. https://www.codechef.com/INOIPRAC/problems/INOI1301 (Check my well explained
article)
23. https://leetcode.com/problems/decode-ways/ (VVI , asked in Amazon , JP Morgan ,
Facebook etc)
24. https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/ (VVI for Interviews)
25. https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/ (VVI for Interviews)
26. https://leetcode.com/problems/maximum-product-subarray/ (VVI for Interviews)
27. https://leetcode.com/problems/word-break/ (Asked in Amazon and Facebook)
28. https://leetcode.com/problems/jump-game-ii/ (Asked in Amazon)
29. https://www.hackerrank.com/challenges/equal/problem
30. https://codeforces.com/problemset/problem/455/A
31. https://www.spoj.com/problems/CPCRC1C/
32. https://www.codechef.com/problems/DELISH
33. https://www.codechef.com/problems/DBOY
34. https://codeforces.com/problemset/problem/768/C
35. https://www.codechef.com/problems/GRID
36. https://www.codechef.com/problems/FROGV
2D - DP
1. https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/ (VVVVVI for Concept
Building)
2. https://www.spoj.com/problems/PARTY/
3. https://leetcode.com/problems/coin-change/ ( VVVI for Interviews)
4. https://www.geeksforgeeks.org/subset-sum-problem-dp-25/ (VVVI for Concept Building)
5. https://leetcode.com/problems/partition-equal-subset-sum/ (Asked in Amazon and
Facebook)
6. https://www.spoj.com/problems/MISERMAN/
7. https://www.codechef.com/problems/XORSUB
8. https://www.spoj.com/problems/BVAAN/
9. https://codeforces.com/problemset/problem/777/C
10. https://www.hackerearth.com/practice/algorithms/dynamic-programming/2-dimensional/p
ractice-problems/algorithm/vanya-and-gcd-array/description/
11. https://leetcode.com/problems/triangle/submissions/
12. https://www.spoj.com/problems/SQRBR/
13. https://www.spoj.com/problems/MPILOT/
14. https://practice.geeksforgeeks.org/problems/mobile-numeric-keypad5456/1
15. https://www.geeksforgeeks.org/egg-dropping-puzzle-dp-11/
String - DP
1. https://leetcode.com/problems/longest-common-subsequence/ (VVVI for Interviews)
2. https://www.geeksforgeeks.org/shortest-common-supersequence/
3. https://www.codechef.com/problems/STRMRG
4. https://www.hackerrank.com/challenges/abbr/problem
5. https://www.geeksforgeeks.org/edit-distance-dp-5/ (VVVI for Concept Building)
6. https://leetcode.com/problems/wildcard-matching/
7. https://leetcode.com/problems/regular-expression-matching/
8. https://leetcode.com/problems/longest-palindromic-subsequence/ (VVI for Interviews)
9. https://leetcode.com/problems/concatenated-words/ (Asked in Amazon)
10. https://leetcode.com/problems/distinct-subsequences/
11. https://www.geeksforgeeks.org/word-wrap-problem-dp-19/
Matrix - DP
1. https://leetcode.com/problems/count-square-submatrices-with-all-ones/
2. https://practice.geeksforgeeks.org/problems/maximum-sum-rectangle/0 (DP With
Kadane….VVVI)
3. https://practice.geeksforgeeks.org/problems/path-in-matrix3805/1 (VVI for Interviews)
4. https://leetcode.com/problems/unique-paths/ (DP is not the optimal solution for this
problem but solve it to clear your concept on 2D DP.)
5. https://leetcode.com/problems/dungeon-game/
6. https://www.spoj.com/problems/FARIDA/
7. https://www.geeksforgeeks.org/matrix-chain-multiplication-dp-8/
8. https://www.geeksforgeeks.org/boolean-parenthesization-problem-dp-37/
9. https://leetcode.com/problems/palindrome-partitioning/ (Asked in Amazon and Google)
10. https://www.geeksforgeeks.org/gold-mine-problem/
N.B - There are advanced topics like DP with Bitmasks , DP on trees etc which are generally not
asked in interviews and hence I have chose not to include them. However they are useful to
know for Competitive Programming. Learn those concepts only after you are comfortable with
the above questions.