LCS:
LCS变式:使两个字符串变成一样的,删除的和最小
https://leetcode.cn/problems/minimum-ascii-delete-sum-for-two-strings/
建表
m ∗ n m*n m∗n or ( m + 1 ) ∗ ( n + 1 ) (m+1)*(n+1) (m+1)∗(n+1)?
感觉 ( m + 1 ) ∗ ( n + 1 ) (m+1)*(n+1) (m+1)∗(n+1)的好想一些,以后还是都以 ( m + 1 ) ∗ ( n + 1 ) (m+1)*(n+1) (m+1)∗(n+1)建表吧
填dp00
LCS
0
删除和最小
0
填dp0j
LCS
全0
删除和最小
s2j+dp0j-1
填dpij
LCS
s1i==s2j ? dpi-1j-1+1 : max(dpi-1j, dpij-1)
删除和最小
s1i==s2j ? dpi-1j-1 : min(dpi-1j+s1i , dpij-1+s2j)
矫正
注意下标,i的有效值从1到n,对应数组元素的0到n-1