Skip to content

13. Dynamic Programming

0-1 Knapsack

1. Subset Sum (GeeksforGeeks)

2. Equal Sum Partition (Leetcode: 416)

3. Count of Subset Sum (GeeksforGeeks)

4. Minimum Subset Sum Difference (GeeksforGeeks)

5. Count of Subsets with Given Difference (GeeksforGeeks)

6. Target Sum (Leetcode: 494)

7. Last Stone Weight II (Leetcode: 1049)


Unbounded Knapsack

1. Rod Cutting (GeeksforGeeks)

2. Coin Change I – Maximum Number of Ways (Leetcode: 322)

3. Coin Change II – Minimum Number of Coins (Leetcode: 518)

4. Maximum Ribbon Cut (Leetcode)


Longest Common Subsequence

1. Longest Common Substring (GeeksforGeeks)

2. Print Longest Common Subsequence (GeeksforGeeks)

3. Shortest Common Supersequence (GeeksforGeeks)

4. Print Shortest Common Supersequence (GeeksforGeeks)

5. Minimum Insertions and Deletions to Convert String A to B (GeeksforGeeks)

6. Longest Repeating Subsequence (GeeksforGeeks)

7. Length of Longest Subsequence of A Which is Substring in B (GeeksforGeeks)

8. Subsequence Pattern Matching (GeeksforGeeks)

9. Count How Many Times String A Appears as Subsequence in B (GeeksforGeeks)

10. Longest Palindromic Subsequence (Leetcode: 516)

11. Longest Palindromic Substring (Leetcode: 5)

12. Count of Palindromic Substrings (Leetcode: 647)

13. Minimum Number of Deletions to Make a String Palindrome (GeeksforGeeks)

14. Minimum Number of Insertions to Make a String Palindrome (Leetcode: 1312)

15. Edit Distance (GeeksforGeeks)


Longest Increasing Subsequence

1. Longest Increasing Subsequence (Leetcode: 300)

2. Largest Divisible Subset (Leetcode: 368)

3. Russian Doll Envelopes (Leetcode: 354)

4. Maximum Length of Pair Chain (Leetcode: 646)

5. Number of Longest Increasing Subsequence (Leetcode: 673)

6. Delete and Earn (Leetcode: 740)

7. Longest String Chain (Leetcode: 1048)


Matrix Chain Multiplication

1. Scramble string (Leetcode: 87)

2. Super Egg Drop (Leetcode:887)

3. Minimum Score Triangulation of Polygon (Leetcode: 1039)

4. Minimum Cost Tree from Leaf Values (Leetcode: 1130)

5. Burst Balloons (Leetcode: 312)


Fibonacci

1. Climbing Stairs (Leetcode: 70)

2. House Robber I (Leetcode: 198)

3. House Robber II (Leetcode: 213)

4. Decode Ways (Leetcode: 91)

5. Tribonacci Number (Leetcode: 1137)


Kadane’s Algorithm

1. Maximum Subarray (Leetcode: 53)

2. Maximum Product Subarray (Leetcode: 152)

3. Maximum Absolute Sum of Any Subarray (Leetcode: 1749)


DP on Trees / Graphs

1. Diameter of Binary Tree (Leetcode: 543)

2. Maximum Path Sum in Binary Tree (Leetcode: 124)

3. Most Frequent Subtree Sum (Leetcode: 508)

4. Largest Independent Set / Maximum Matching in Tree (GeeksforGeeks)

5. Longest Path in DAG (GeeksforGeeks)


2D DP / Grid‑based

1. Matrix Block Sum (Leetcode: 1314)

3. Dungeon Game (Leetcode: 174)

4. Triangle (Leetcode: 120)

5. Maximal Square (Leetcode: 221)

6. Minimum Falling Path Sum (Leetcode: 931)

7. Minimum Path Sum in Grid (GeeksforGeeks)

8. Unique Paths in Grid (Leetcode: 62)

9. Cherry Pickup (Leetcode: 741)


String‑based DP (Matching / Patterns)

1. Wildcard Matching (Leetcode: 44)

2. Regular Expression Matching (Leetcode: 10)


Cumulative Sum

1. Range Sum Query (Leetcode: 44)

2. Range Sum Query 2D – Immutable (Leetcode: 303)


DP with Bitmask

1. Partition to K Equal Sum Subsets (Leetcode: 698)

2. Traveling Salesman Problem (TSP) (GeeksforGeeks)

3. Minimum Path to Visit All Nodes (Hamiltonian Path) (Leetcode: 847)

4. Maximum Students Taking Exam (Leetcode:1349)

5. Find the Shortest Superstring (Leetcode:943)

6. Minimum Number of Work Sessions to Finish the Tasks (Leetcode:1986)

7. Number of Ways to Wear Different Hats to Each Other (Leetcode:1434)

8. Fair Distribution of Cookies (Leetcode:2305)


Digit DP

1. Number of Digit One (Leetcode:233)

2. Non-negative Integers without Consecutive Ones (Leetcode:600)

3. Numbers At Most N Given Digit Set (Leetcode:902)

4. Numbers With Repeated Digits (Leetcode: 1012)


Probability DP

1. Knight Probability in Chessboard (Leetcode: 688)

2. Soup Servings (Leetcode:808)

3. New 21 Game (Leetcode:837)

4. Dice Throw / Probability to Reach a Score (GeeksforGeeks)

5. Probability of Winning a Game (GeeksforGeeks)

6. Expected Value Problems (Egg Drop with expectation) (GeeksforGeeks)

7. Probability of a Random Walk Reaching a Point (GeeksforGeeks)

8. Probability of Subsequence Existence (GeeksforGeeks)


State Machine DP

1. Best Time to Buy and Sell Stock (Leetcode: 121)

2. Best Time to Buy and Sell Stock II (Leetcode: 122)

3. Best Time to Buy and Sell Stock III (Leetcode: 123)

4. Best Time to Buy and Sell Stock IV (Leetcode: 188)

5. Best Time to Buy and Sell Stock with Cooldown (Leetcode: 309)

6. Best Time to Buy and Sell Stock with Transaction Fee (Leetcode: 714)

7. Binary Tree Cameras (Leetcode:968)