Dynamic-Programming
LeetCode 72: Edit Distance
·4 mins
LeetCode
Medium
Dynamic-Programming
String
LeetCode note for Edit Distance, rebuilt from the original learning note
LeetCode 3989: Maximum Consistent Columns in a Grid
·2 mins
LeetCode
Hard
Dynamic-Programming
Matrix
Array
LeetCode 3989 note: the kept columns form a subsequence constrained only between neighbors; an LIS-style DP with dp[j] = the longest valid sequence ending at column j
LeetCode 516: Longest Palindromic Subsequence
·3 mins
LeetCode
Medium
Dynamic-Programming
String
Palindrome
LeetCode note for Longest Palindromic Subsequence, rebuilt from the original learning note
LeetCode 1143: Longest Common Subsequence
·3 mins
LeetCode
Medium
Dynamic-Programming
String
LeetCode note for Longest Common Subsequence, rebuilt from the original learning note
LeetCode 552: Student Attendance Record II
·2 mins
LeetCode
Hard
Dynamic-Programming
State-Machine
LeetCode 552 note: state machine DP with state “A used × trailing L run”, 6 states; each day’s P, A or L picks the next state
LeetCode 488: Zuma Game
·3 mins
LeetCode
Hard
Dynamic-Programming
Memoization
Breadth-First-Search
String
Stack
LeetCode 488 note: with at most 16 balls on the board and 5 in hand, memoize DFS on the whole (board, hand) state, inserting only before a same-colored ball or between two equal balls
LeetCode 1402: Reducing Dishes
·2 mins
LeetCode
Hard
Dynamic-Programming
Greedy
Sorting
Array
LeetCode 1402 note: sort and take dishes from most satisfying down; each new dish goes first and shifts the chosen ones one slot later, adding the current chosen sum, so keep going while that sum is positive
LeetCode 3984: Divisible Game
·3 mins
LeetCode
Medium
Dynamic-Programming
Kadane
Math
Number-Theory
Enumeration
LeetCode 3984 note: replacing a composite k by one of its prime factors only helps (more values divisible, smaller k), so try every prime factor of the numbers plus 2, running Kadane once per candidate
LeetCode 576: Out of Boundary Paths
·3 mins
LeetCode
Medium
Dynamic-Programming
Grid-Dp
LeetCode note for Out of Boundary Paths, rebuilt from the original learning note
LeetCode 1411: Number of Ways to Paint N × 3 Grid
·2 mins
LeetCode
Hard
Dynamic-Programming
State-Machine
Graph-Coloring
LeetCode 1411 note: a row’s colorings come in two patterns, ABA (ends match) and ABC (all different), 6 each; the next row gives ABA → 3 ABA + 2 ABC and ABC → 2 ABA + 2 ABC
LeetCode 1289: Minimum Falling Path Sum II
·3 mins
LeetCode
Hard
Dynamic-Programming
Grid-Dp
LeetCode note for Minimum Falling Path Sum II, rebuilt from the original learning note
LeetCode 931: Minimum Falling Path Sum
·3 mins
LeetCode
Medium
Dynamic-Programming
Grid-Dp
LeetCode note for Minimum Falling Path Sum, rebuilt from the original learning note