Dynamic Programming21 sections · 916 units
Open in Course

LeetCode 712 Minimum ASCII Delete Sum for Two Strings - Weighted DP

Cost instead of count

Define dp[i][j]dp[i][j] = minimum ASCII sum to delete to make s1[0..i1]s1[0..i-1] and s2[0..j1]s2[0..j-1] equal. Base cases: dp[0][0]=0dp[0][0] = 0 dp[i][0]=dp[i1][0]+ASCII(s1[i1])dp[i][0] = dp[i-1][0] + ASCII(s1[i-1]) (delete all of s1) dp[0][j]=dp[0][j1]+ASCII(s2[j1])dp[0][j] = dp[0][j-1] + ASCII(s2[j-1]) (delete all of s2) If characters match: dp[i][j]=dp[i1][j1]dp[i][j] = dp[i-1][j-1] (no deletion needed).

If they don't: delete from s1 or s2, whichever costs less.