题解 | #编辑距离(一)#

编辑距离(一)

https://www.nowcoder.com/practice/6a1483b5be1547b1acd7940f867be0da

class Solution:  
    def editDistance(self, str1: str, str2: str) -> int:  
        m, n = len(str1), len(str2)  
        dp = [[0] * (n + 1) for _ in range(m + 1)]  
          
        # 初始化边界条件  
        for i in range(m + 1):  
            dp[i][0] = i  
        for j in range(n + 1):  
            dp[0][j] = j  
          
        # 填充dp数组  
        for i in range(1, m + 1):  
            for j in range(1, n + 1):  
                if str1[i-1] == str2[j-1]:  
                    dp[i][j] = dp[i-1][j-1]  
                else:  
                    dp[i][j] = min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1]) + 1  
          
        return dp[m][n]

全部评论

相关推荐

在评审的大师兄很完美:像这种一般就是部门不匹配 转移至其他部门然后挂掉 我就是这样被挂了
点赞 评论 收藏
分享
10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务