5.2 Linear DP Problems

5.2.1 Single Sequence Linear DP Problems

ProblemTitleSolutionTagsDifficulty
0300Longest Increasing Subsequence LeetCode XXXX Array, Binary Search, Dynamic ProgrammingMedium
0673Number of Longest Increasing Subsequence LeetCode XXXX Binary Indexed Tree, Segment Tree, Array, Dynamic ProgrammingMedium
0354Russian Doll Envelopes LeetCode XXXX Array, Binary Search, Dynamic Programming, SortingHard
0053Maximum Subarray LeetCode XXXX Array, Divide and Conquer, Dynamic ProgrammingEasy
0152Maximum Product Subarray LeetCode XXXX Array, Dynamic ProgrammingMedium
0918Maximum Sum Circular Subarray LeetCode XXXX Queue, Array, Divide and Conquer, Dynamic Programming, Monotonic QueueMedium
0198House Robber LeetCode XXXX Array, Dynamic ProgrammingEasy
0213House Robber II LeetCode XXXX Array, Dynamic ProgrammingMedium
0740Delete and EarnArray, Hash Table, Dynamic ProgrammingMedium
1388Pizza With 3n SlicesGreedy, Array, Dynamic Programming, Heap (Priority Queue)Hard
0873Length of Longest Fibonacci Subsequence LeetCode XXXX Array, Hash Table, Dynamic ProgrammingMedium
1027Longest Arithmetic SubsequenceArray, Hash Table, Binary Search, Dynamic ProgrammingMedium
1055Shortest Way to Form StringGreedy, Two Pointers, StringMedium
0368Largest Divisible SubsetArray, Math, Dynamic Programming, SortingMedium
0032Longest Valid Parentheses LeetCode XXXX Stack, String, Dynamic ProgrammingHard
0413Arithmetic SlicesArray, Dynamic ProgrammingMedium
0091Decode Ways LeetCode XXXX String, Dynamic ProgrammingMedium
0639Decode Ways II LeetCode XXXX String, Dynamic ProgrammingHard
0132Palindrome Partitioning IIString, Dynamic ProgrammingHard
1220Count Vowels Permutation LeetCode XXXX Dynamic ProgrammingHard
0338Counting Bits LeetCode XXXX Bit Manipulation, Dynamic ProgrammingMedium
0801Minimum Swaps To Make Sequences Increasing LeetCode XXXX Array, Dynamic ProgrammingHard
0871Minimum Number of Refueling StopsGreedy, Array, Dynamic Programming, Heap (Priority Queue)Hard
0045Jump Game II LeetCode XXXX Greedy, Array, Dynamic ProgrammingHard
0813Largest Sum of AveragesArray, Dynamic Programming, Prefix SumMedium
0887Super Egg Drop LeetCode XXXX Math, Binary Search, Dynamic ProgrammingHard
0256Paint HouseArray, Dynamic ProgrammingMedium
0265Paint House IIArray, Dynamic ProgrammingHard
1473Paint House IIIArray, Dynamic ProgrammingHard
0975Odd Even JumpStack, Array, Dynamic Programming, Ordered Set, Monotonic StackHard
0403Frog Jump LeetCode XXXX Array, Dynamic ProgrammingHard
1478Allocate MailboxesArray, Math, Dynamic Programming, SortingHard
1230Toss Strange CoinsMath, Dynamic Programming, Probability and StatisticsMedium
0410Split Array Largest Sum LeetCode XXXX Greedy, Array, Binary Search, Dynamic Programming, Prefix SumHard
1751Maximum Number of Events That Can Be Attended IIArray, Binary Search, Dynamic Programming, SortingHard
1787Make the XOR of All Segments Equal to ZeroBit Manipulation, Array, Dynamic ProgrammingHard

5.2.2 Dual Sequence Linear DP Problems

ProblemTitleSolutionTagsDifficulty
1143Longest Common Subsequence LeetCode XXXX String, Dynamic ProgrammingMedium
0712Minimum ASCII Delete Sum for Two StringsString, Dynamic ProgrammingMedium
0718Maximum Length of Repeated Subarray LeetCode XXXX Array, Binary Search, Dynamic Programming, Sliding Window, Hash Function, Rolling HashMedium
0583Delete Operation for Two Strings LeetCode XXXX String, Dynamic ProgrammingMedium
0072Edit Distance LeetCode XXXX String, Dynamic ProgrammingHard
0044Wildcard Matching LeetCode XXXX Greedy, Recursion, String, Dynamic ProgrammingHard
0010Regular Expression Matching LeetCode XXXX Recursion, String, Dynamic ProgrammingHard
0097Interleaving StringString, Dynamic ProgrammingMedium
0115Distinct Subsequences LeetCode XXXX String, Dynamic ProgrammingHard
0085Maximal RectangleStack, Array, Dynamic Programming, Matrix, Monotonic StackHard

5.2.3 Matrix Linear DP Problems

ProblemTitleSolutionTagsDifficulty
0118Pascal’s Triangle LeetCode XXXX Array, Dynamic ProgrammingEasy
0119Pascal’s Triangle II LeetCode XXXX Array, Dynamic ProgrammingEasy
0120Triangle LeetCode XXXX Array, Dynamic ProgrammingMedium
0064Minimum Path Sum LeetCode XXXX Array, Dynamic Programming, MatrixMedium
0174Dungeon GameArray, Dynamic Programming, MatrixHard
0221Maximal Square LeetCode XXXX Array, Dynamic Programming, MatrixMedium
0931Minimum Falling Path SumArray, Dynamic Programming, MatrixMedium
0576Out of Boundary Paths LeetCode XXXX Dynamic ProgrammingMedium
0085Maximal RectangleStack, Array, Dynamic Programming, Matrix, Monotonic StackHard
0363Max Sum of Rectangle No Larger Than KArray, Binary Search, Matrix, Ordered Set, Prefix SumHard
1444Number of Ways of Cutting a PizzaMemoization, Array, Dynamic Programming, MatrixHard

5.2.4 Non-sequence Linear DP Problems

ProblemTitleSolutionTagsDifficulty
1137N-th Tribonacci Number LeetCode XXXX Memoization, Math, Dynamic ProgrammingEasy
06502 Keys Keyboard LeetCode XXXX Math, Dynamic ProgrammingMedium
0264Ugly Number II LeetCode XXXX Hash Table, Math, Dynamic Programming, Heap (Priority Queue)Medium
0279Perfect Squares LeetCode XXXX Breadth-First Search, Math, Dynamic ProgrammingMedium
0343Integer Break LeetCode XXXX Math, Dynamic ProgrammingMedium