我正在玩Levenshteins Edit Distance algorithm,我想扩展它以计算换位 - 即相邻字母的交换 - 作为 1 个编辑。未修改的算法计算从另一个字符串到达某个字符串所需的插入、删除或替换。例如,从“KITTEN”到“SITTING”的编辑距离为 3。这是来自 Wikipedia 的解释:
- kitten → sitten (用 's' 代替 'k')
- sitten → sittin(用'i'代替'e')
- 坐→坐(在末尾插入“g”)。
按照同样的方法,“CHIAR”到“CHAIR”的编辑距离为2:
- CHIAR → CHAR(删除“我”)
- CHAR → CHAIR(插入“I”)
我想把这算作“1次编辑”,因为我只交换了两个相邻的字母。我该怎么做呢?