115.不同的子序列
115. 不同的子序列 - 力扣(LeetCode)
思路:dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数。dp[i][j]还是考虑两种情况:
s[i - 1] == t[j - 1],dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];否则就是dp[i][j] = dp[i - 1][j];
583. 两个字符串的删除操作
583. 两个字符串的删除操作 - 力扣(LeetCode)
思路:word1[i - 1] = word2[j - 1],dp[i][j] = dp[i - 1][j - 1];否则因为两个word都可以删,只删一个或者两个都删:dp[i][j] = min(dp[i - 1][j - 1] + 2, dp[i - 1][j] + 1, dp[i][j - 1] + 1);
72. 编辑距离
72. 编辑距离 - 力扣(LeetCode)
思路:word1[i - 1] = word2[j - 1],dp[i][j] = dp[i - 1][j - 1];否则就是三种操作(增删改),”增删“都是任选一个word操作数+1,”改“是改一次就是能让word1/2相同,即三种情况取最小值:dp[i][j] = min(dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]) + 1;