代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇

583. 两个字符串的删除操作

链接:代码随想录

本题和动态规划:115.不同的子序列 相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。

代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇_第1张图片

自己的思路和错误的地方。

代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇_第2张图片

代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇_第3张图片

看了代码随想录之后,自己写出来的。理解程度80%。具体不太彻底懂的点在递推公式那里。

class Solution {
    /*
    真不是最长公共子序列.初始化写对。递推的二维数组写的也基本正确。
    递推公式写错
    */
public:
    int minDistance(string word1, string word2) {
        int n=word1. size();
         int m=word2.size();
         vector>dp(n+1,vector(m+1,0));

         //初始化第一行
         for(int j=0;j

 72. 编辑距离

最终我们迎来了编辑距离这道题目,之前安排题目都是为了 编辑距离做铺垫。

链接:代码随想录

代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇_第4张图片

代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇_第5张图片 代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇_第6张图片

代码随想录|day56|动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇_第7张图片 竟然自己想的还不错。代码一次过。

class Solution {
public:
    int minDistance(string word1, string word2) {
        int n=word1.size();
        int m=word2.size();
        vector>dp(n+1,vector(m+1,0));
         
         //初始化第一行
         for(int j=0;j

编辑距离总结篇

做一个总结吧

代码随想录

你可能感兴趣的:(代码随想录,算法,动态规划)