首先让我通过“对齐”来解释我的意思。
假设我们必须使用字符串:例如AGBCDEF ABCDIEFK
他们的“对齐”将是:
A - G - B - C - D - - E - F -
A - - B - C - D - I - E - F - K
-----------------------------------
A - ? - B - C - D - ? - E - F - ?
另一个(非常简化)的例子(因为我相信我的问题可能与NLP有关):
I give Mary a kiss
I give Ann a book
----------------------
I give X a Y
你会怎么做?关于算法的任何想法(甚至参考)?
我可能会在Objective-C(或PHP)中编写它,但欢迎使用任何代码。
答案 0 :(得分:3)
我认为你所寻找的东西就像自然语言处理的最小编辑距离。看看Levenshtein距离算法here
的演示答案 1 :(得分:1)
我认为你要找的是longest common subsequence.