题解 | #最小编辑代价#

最小编辑代价

http://www.nowcoder.com/practice/05fed41805ae4394ab6607d0d745c8e4

class Solution:
    def minEditCost(self , str1 , str2 , ic , dc , rc ):
        # write code here
        len1, len2 = len(str1), len(str2)
        dp = [[0 for _ in range(len2 + 1)] for _ in range(len1 + 1)]
        for i in range(1, len1 + 1):
            dp[i][0] = i * dc
        for i in range(1, len2 + 1): # 注意,和下面的删除操作一致
            dp[0][i] = i * ic
        for i  in range(len1):
            for j in range(len2):
                if str1[i] == str2[j]:
                    dp[i + 1][j + 1] = dp[i][j]
                else:
                    dp[i + 1][j + 1] = min(dp[i][j] + rc, dp[i + 1][j] + ic, dp[i][j + 1] + dc)
        return dp[len1][len2]
全部评论

相关推荐

11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务