本文主要是介绍Leetcode583. 两个字符串的删除操作 -代码随想录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
代码(首刷自解 2024年2月29日):
class Solution {
public:// 动态规划 好像和找最长公共子序列一样?int minDistance(string word1, string word2) {int sz1 = word1.size();int sz2 = word2.size();// dp initvector<vector<int>> dp(sz1 + 1,vector<int>(sz2 + 1, 0));for (int i = 0; i <= sz1; ++i) dp[i][0] = i;for (int i = 0; i <= sz2; ++i) dp[0][i] = i;// 遍历 递推公式for (int i = 1; i <= sz1; ++i) {for (int j = 1; j <= sz2; ++j) {if (word1[i - 1] == word2[j - 1])dp[i][j] = dp[i - 1][j - 1];elsedp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + 1;}}return dp[sz1][sz2];}
};
这篇关于Leetcode583. 两个字符串的删除操作 -代码随想录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!