我不确定我是否正确地标题了这篇文章,但我想知道这种算法的名称是否有名称:
我要做的是创建一个最小指令集,从一个字符串转到排列,例如:
STACKOVERFLOW -> STAKCOVERFLOW
至少需要一次操作,即
shift K before C.
是否有任何良好的在线示例
谢谢!
答案 0 :(得分:3)
有一种称为Levenshtein距离的东西告诉你从一个字符串到另一个字符串需要多少更改,并且有许多C#实现,还有许多其他语言。
这是维基:
http://en.wikipedia.org/wiki/Levenshtein_distance
编辑:正如TheHorse指出的那样,Levenshtein距离不理解Shift变化,但有一个改进的算法: