2 つの非常に長い一連の単語があります。
それらが異なる場所を見つける必要があります。たとえば、入力が
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 を指し、2 番目のインデックスは X を指します。これで、2 番目のシーケンス全体で B を検索できました。見つからなかったので、2 番目のシーケンス全体で C を検索し、次に D を検索しました。D を見つけて、したがって、問題を解決できます。
明らかに、この「強引な」方法はひどいものです。
より良い方法は何ですか?
私は Python でコードを書いており、NLTK を使用しています。したがって、組み込みの NLTK 機能を使用して部分的または完全に解決できれば、(実装が) 高速になります。