代码随想录算法训练营第55天|● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇

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

就是两个都要删除,取两个都删的最低操作

python 复制代码
class Solution:
    def minDistance(self, word1: str, word2: str) -> int:
        dp=[[0]*(len(word2)+1) for _ in range(len(word1)+1)]
        for i in range(len(word1)+1):
            dp[i][0]=i
        for j in range(len(word2)+1):
            dp[0][j]=j
        for i in range(1,len(word1)+1):
            for j in range(1,len(word2)+1):
                if word1[i-1]==word2[j-1]:
                    dp[i][j]=dp[i-1][j-1]
                else:
                    dp[i][j]=min(dp[i-1][j-1]+2,dp[i-1][j]+1,dp[i][j-1]+1)
        return dp[-1][-1]

72. 编辑距离

增删替--增==对面删 删==删 替:+1

python 复制代码
class Solution:
    def minDistance(self, word1: str, word2: str) -> int:
        dp=[[0]*(len(word2)+1) for _ in range(len(word1)+1)]
        for i in range(len(word1)+1):
            dp[i][0]=i
        for j in range(len(word2)+1):
            dp[0][j]=j
        for i in range(1,len(word1)+1):
            for j in range(1,len(word2)+1):
                if word1[i-1]==word2[j-1]:
                    dp[i][j]=dp[i-1][j-1]
                else:
                    dp[i][j]=min(dp[i-1][j-1],dp[i-1][j],dp[i][j-1])+1
        return dp[-1][-1]

编辑距离正式结束

相关推荐
earthzhang20219 分钟前
《深入浅出HTTPS》读书笔记(12):块密码算法之迭代模式
网络协议·算法·http·https·1024程序员节
TANGLONG2221 小时前
【初阶数据结构和算法】leetcode刷题之设计循环队列
java·c语言·数据结构·c++·python·算法·leetcode
禁默1 小时前
路径规划算法之Dijkstra算法
算法
2401_878937712 小时前
数组和正则表达式
数据结构·算法
subject625Ruben2 小时前
亚太杯数学建模C题思路与算法(2024)
算法·数学建模
峰度偏偏2 小时前
【适配】屏幕拖拽-滑动手感在不同分辨率下的机型适配
算法·游戏·unity·ue5·ue4·godot
猫猫猫喵2 小时前
题目:素数列
算法
想成为高手4992 小时前
深入理解二叉搜索树(BST)
数据结构·c++·算法
是阿建吖!2 小时前
【优选算法】前缀和
算法
闻缺陷则喜何志丹3 小时前
【C++数论 因数分解】829. 连续整数求和|1694
c++·数学·算法·力扣··因数分解·组数