次の非標準操作を使用して、一連のシーケンス (すべて同じ既知の長さ) を表すデータ構造が必要です。
ちょうど 1 つのインデックスで異なるセット内の 2 つのシーケンスを検索します。(または、そのようなペアが存在しないことを確認します。)
N
がシーケンスの長さとシーケンスM
の数である場合、明らかなアルゴリズムO(N*M*M)
があります。これをより効率的に解決する標準的な方法があるのだろうか。必要に応じて前処理を適用します。
ボーナス ポイントは、アルゴリズムがペアを返す代わりに、同じポイントで異なるすべてのシーケンスを返す場合です。
または、特定のシーケンスがセット内の任意のシーケンスと 1 つのインデックスで異なるかどうかを効率的にチェックできるソリューションにも興味があります。それが役立つ場合、セット内で 2 つのシーケンスがそのプロパティを持っていないと仮定できます。
編集:N
かなり小さいと想定できます。これは、O(log(N)*M*M)
私のユースケースではすぐには役に立たないような改善を意味します。