複数の固定長文字列の同じ位置から、可能な限り最長の共通部分列をすべて見つけようとしています (合計で 700 個の文字列があり、各文字列には 25 個のアルファベットがあります)。最長の共通サブシーケンスには、少なくとも 3 つのアルファベットが含まれ、少なくとも 3 つの文字列に属している必要があります。だから私が持っている場合:
String test1 = "abcdeug";
String test2 = "abxdopq";
String test3 = "abydnpq";
String test4 = "hzsdwpq";
私は答えが必要です:
String[] Answer = ["abd", "dpq"];
私の1つの問題は、これをできるだけ速くする必要があることです。サフィックスツリーで答えを見つけようとしていますが、サフィックスツリーメソッドの解決策は.サフィックスツリーは["ab","pq"]
複数の文字列から連続した部分文字列しか見つけることができません.共通の最長共通部分列アルゴリズムはこの問題を解決できません. 時間コストを抑えてこれを解決する方法を知っている人はいますか? ありがとう