If you’ve ever felt DP problems look different but somehow feel the same — you’re right.
Here’s a complete breakdown — starting with the Top 15 Core DP
-
Longest Increasing Subsequence (LIS)
Concept: Subsequence DP + Binary Search Optimization
Follow-ups:
LeetCode 300. Longest Increasing Subsequence
LeetCode 673. Number of Longest Increasing Subsequence
GFG: Longest Increasing Subsequence (DP-3) -
0/1 Knapsack Problem
Concept: Subset sum DP, classic iterative and recursive forms
Follow-ups:
GFG: 0-1 Knapsack Problem
LeetCode 416. Partition Equal Subset Sum
LeetCode 494. Target Sum -
Longest Common Subsequence (LCS)
Concept: Classic string DP, foundation for many string matching problems
Follow-ups:
LeetCode 1143. Longest Common Subsequence
LeetCode 583. Delete Operation for Two Strings
GFG: Print Shortest Common Supersequence -
Edit Distance (String Transformation)
Concept: DP over strings with insertion, deletion, replacement operations
Follow-ups:
LeetCode 72. Edit Distance
LeetCode 97. Interleaving String
GFG: Edit Distance Problem -
Maximum Subarray / Kadane’s Algorithm
Concept: DP over prefix sums; can be extended for circular arrays
Follow-ups:
LeetCode 53. Maximum Subarray
LeetCode 918. Maximum Sum Circular Subarray
GFG: Largest Sum Contiguous Subarray -
Coin Change (Ways and Min Coins)
Concept: Combinatorial DP (unbounded knapsack variant)
Follow-ups:
LeetCode 322. Coin Change
LeetCode 518. Coin Change II
GFG: Coin Change Problem -
House Robber Series (Linear and Circular)
Concept: DP on arrays with adjacency constraints
Follow-ups:
LeetCode 198. House Robber
LeetCode 213. House Robber II
LeetCode 740. Delete and Earn (advanced variant) -
Unique Paths (Grid Traversal DP)
Concept: Grid-based combinatorial DP, extendable with obstacles
Follow-ups:
LeetCode 62. Unique Paths
LeetCode 63. Unique Paths II
GFG: Number of Unique Paths -
Minimum Path Sum / Triangle Path DP
Concept: Classic DP on grid or triangle
Follow-ups:
LeetCode 64. Minimum Path Sum
LeetCode 120. Triangle
GFG: Minimum Path Sum in Grid -
Palindromic Substrings and Subsequences
Concept: DP over substrings, expand-around-center approach
Follow-ups:
LeetCode 647. Palindromic Substrings
LeetCode 516. Longest Palindromic Subsequence
GFG: Longest Palindromic Subsequence -
Partition DP (Matrix Chain Multiplication Type)
Concept: DP with interval partitioning
Follow-ups:
GFG: Matrix Chain Multiplication
LeetCode 312. Burst Balloons
LeetCode 1547. Minimum Cost to Cut a Stick -
Subset Sum and Variations
Concept: Boolean DP, classic knapsack-based problems
Follow-ups:
LeetCode 698. Partition to K Equal Sum Subsets
LeetCode 473. Matchsticks to Square
GFG: Subset Sum Problem -
Stock Buy and Sell (Profit Maximization DP)
Concept: State machine DP (hold, sell, cooldown variants)
Follow-ups:
LeetCode 121. Best Time to Buy and Sell Stock
LeetCode 122. Best Time to Buy and Sell Stock II
LeetCode 309. Best Time to Buy and Sell Stock with Cooldown -
Frog Jump / Minimum Cost Climbing Stairs
Concept: Basic DP recurrence with local decisions
Follow-ups:
LeetCode 746. Min Cost Climbing Stairs
GFG: Frog Jump (Atcoder DP Series A)
LeetCode 70. Climbing Stairs -
Distinct Subsequences / Counting Subsequences
Concept: Counting DP for string transformations
Follow-ups:
LeetCode 115. Distinct Subsequences
GFG: Count Distinct Subsequences
LeetCode 940. Distinct Subsequences II
Bonus for extra practice:
-
Tree DP — Diameter, Path Sums, and Rerooting
Concept: DP over tree nodes using postorder + rerooting (subtree + complement computation)
Follow-ups:
LeetCode 124. Binary Tree Maximum Path Sum
LeetCode 543. Diameter of Binary Tree
GFG: Sum of distances in tree (rerooting based) -
Bitmask DP — Traveling Salesman and Subset Problems
Concept: DP state represented by subsets (bitmask of visited nodes)
Follow-ups:
LeetCode 847. Shortest Path Visiting All Nodes
GFG: Traveling Salesman Problem (TSP) using Bitmask DP
LeetCode 698. Partition to K Equal Sum Subsets -
Digit DP — Counting numbers with given properties
Concept: DP over digits with tight/loose bounds for number formation problems
Follow-ups:
LeetCode 1012. Numbers With Repeated Digits
GFG: Count numbers with sum of digits equal to given value
LeetCode 2719. Count of Integers With Digit Sum in Range
Suggest if you have more, would love to add on!!

