#iai21b1. 编辑距离(Edit-Distance)
编辑距离(Edit-Distance)
编辑距离
题目描述
给定两个字符串 与 ,请计算 到 的编辑距离。所谓编辑距离,就是最少进行多少步修改可以将 变成 ,每次修改操作可以从以下操作选择一种:
- 插入一个字符
- 删除一个字符
- 替换一个字符
编辑距离是一个很重要的概念,比如:
- 微信公众号有个规定:已经发表的文章,只能修改 2020 个字。所以公众号的运营人员需要仔细计算新旧文章的编辑距离。
- DNA 是由 actg 四个字母组成的字符串,编辑距离可以规划编辑 DNA 的最佳方案。
输入格式
- 第一行:一个字符串 ,由小写英文字符组成
- 第二行:一个字符串 ,由小写英文字符组成
输出格式
- 单个整数:表示两个字符串的编辑距离
样例输入 #1
atcg
tcga
样例输出 #1
2
样例说明 #1
删除第一个 a,然后在字符串尾部再加一个 a。
样例输入 #2
abcdefg
gfedcba
样例输出 #2
6
数据范围
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模长度≤10 / 特殊: 完全相同 / 特殊: 完全不同 |
| 2 | 15 | 9~11 | Hack: 单字符 / Hack: 一长一短 / Hack: 仅插入删除 |
| 3 | 30 | 12~20 | 中规模长度≈100~1000 / 大规模长度≈2000 压力 |
| 4 | 25 | 21~25 | 随机长度=1~2000 回归 |