我有两个非常长的单词序列。
我需要找到它们不同的地方。例如,如果输入是
1st sequence: A B C D E F G
2nd sequence: A X D Y Z W G
(这里的每个字符代表一个单词)
输出应该是:
B C -> X
E F -> Y Z W
我的想法是:我可以对两个序列都有一个索引。最初,两者都指向 A。增加两个索引。现在第一个索引指向 B,第二个指向 X。我现在可以在整个第二个序列中搜索 B。没有找到它,我可以在整个第二个序列中搜索 C,然后搜索 D。我会找到一个 D,然后因此可以解决问题。
显然,这种‘蛮力’的方法是很可怕的。
什么是更好的方法?
我正在用 Python 编写代码,并使用 NLTK,所以如果可以使用内置的 NLTK 功能部分或完全解决这个问题,它会更快(实现)。