
最小编辑代价(牛客)
发布日期:2021-05-06 11:07:59
浏览次数:23
分类:精选文章
本文共 1114 字,大约阅读时间需要 3 分钟。
以下是实现两个字符串最小编辑成本的动态规划算法: 类 Solution: def minEditCost(self, str1, str2, ic, dc, rc): # 初始化动态规划表 dp = [[0] * (len(str2)+1) for _ in range(len(str1)+1)] # 填充边缘情况 for i in range(1, len(str1)+1): dp[i][0] = dp[i-1][0] + dc for j in range(1, len(str2)+1): dp[0][j] = dp[0][j-1] + ic # 填充主体部分 for i in range(1, len(str1)+1): for j in range(1, len(str2)+1): if str1[i-1] == str2[j-1]: dp[i][j] = min(dp[i-1][j-1], dp[i][j-1] + ic, dp[i-1][j] + dc) else: dp[i][j] = min(dp[i-1][j-1] + rc, dp[i][j-1] + ic, dp[i-1][j] + dc) # 返回最小编辑成本 return dp[-1][-1]
以上代码实现了对两个字符串的最小编辑成本计算,采用动态规划方法来解决问题。算法通过维护一个二维数组dp,记录不同子序列之间的编辑成本,最终返回两个字符串的最小编辑成本。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月28日 02时12分40秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
StringBuilder拼接字符串,“,”在前还是在后问题
2019-03-06
给asterisk1.8.7添加menuselct选项
2019-03-06
组合模式
2019-03-06
PyQt5之音乐播放器
2019-03-06
css居中方法与双飞翼布局
2019-03-06
Redis进阶实践之十八 使用管道模式提高Redis查询的速度
2019-03-06
SQL注入
2019-03-06
XCTF-upload1
2019-03-06
LeetCode 题解 | 1. 两数之和
2019-03-06
#2036:改革春风吹满地
2019-03-06
MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】
2019-03-06
P1379 八数码难题 ( A* 算法 与 IDA_star 算法)
2019-03-06
按需取余
2019-03-06
算法学习笔记: 珂朵莉树
2019-03-06
算法学习笔记:母函数详解
2019-03-06
Codeforces Round #664 题解(A ~ C)
2019-03-06
Problem 1342B - Binary Period (思维)
2019-03-06
Problem A - Sequence with Digits (数学推导)
2019-03-06