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

编辑距离(一)

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]

全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务