Dynamic Programming Problems

Dynamic programming breaks complex problems into overlapping subproblems and caches their results. These problems cover classic patterns: knapsack, longest subsequence, grid paths, and interval scheduling.

30 problems

Title Difficulty Platform
Best Time to Buy and Sell Stock IV Hard LeetCode
Burst Balloons Hard LeetCode
Climbing Stairs Easy LeetCode
Coin Change Medium LeetCode
Count Different Palindromic Subsequences Hard LeetCode
Count Square Submatrices with All Ones Medium LeetCode
Counting Bits Easy LeetCode
Decode Ways Medium LeetCode
Delete and Earn Medium LeetCode
Frog Jump Hard LeetCode
Knight Dialer Medium LeetCode
Largest area rectangular sub-matrix with equal number of 1’s and 0’s Hard GeeksforGeeks
Longest Common Substring | Practice Medium GeeksforGeeks
Longest Increasing Subsequence Medium LeetCode
Maximal Rectangle Hard LeetCode
Maximal Square Medium LeetCode
Maximize The Cut Segments | Practice Medium GeeksforGeeks
Maximum Length of Repeated Subarray Medium LeetCode
Maximum Product Subarray Easy LeetCode
Minimum Cost to Merge Stones Hard LeetCode
Minimum Insertion Steps to Make a String Palindrome Hard LeetCode
Minimum Path Sum Medium LeetCode
Mobile numeric keypad | Practice Medium GeeksforGeeks
Ones and Zeroes Easy LeetCode
Optimal Binary Search Tree Hard GeeksforGeeks
Range Sum Query 2D - Immutable Medium LeetCode
Super Egg Drop Hard LeetCode
Trapping Rain Water Hard LeetCode
Unique Paths Medium LeetCode
Weighted Job Scheduling Medium GeeksforGeeks