問題があり、それを解決するためのアルゴリズムが必要です。
私はそれを見つけることができず、問題がNP困難であるかどうかわかりません。
問題は次のとおりです。シンボルのシーケンスがいくつかあります。それらを単一のシーケンスにマージしたいのですが、元のシーケンスのすべてのシンボルが含まれ、シンボルの元の順序が維持されます。異なるシーケンスに由来する重複したシンボルは削除する必要があります。結果のシーケンスは、可能な限り最小のシーケンスである必要があります。
シーケンスの1つが「abc」の場合、結果のシーケンスは* a * b * c *である必要があります。ここで、*は0個以上のシンボルのシーケンスです。入力シーケンスが「abc」および「cba」の場合、出力は「abcba」である必要があり、「c」が1回含まれ、* a * b *c*および*c* b *a*プロパティが保持されます。
例:
入力:
abcde
xbcaf
axdaf
それがどのようにマージされるか:
a-bcde--
-xbc--af
ax--d-af
出力:
axbcdeaf
複数の出力が可能です。「abcd」および「cba」は、「abcdba」、「abcbda」、または「abcbad」になります。必要な出力は1つだけです。その長さが可能な最小の長さであれば、どの出力も有効です。
感謝