Iは、次の非標準の動作と(同一の、既知の長さの全て)シーケンスのセットを表すデータ構造を必要とする検索:正確に一つの位置で異なる配列の全ての対
2検索を正確に1つのインデックスで異なるセット内のシーケンス。 (または、そのようなペアが存在しないことを確立する。)
N
は配列と配列のM
数の長さであれば、明らかO(N*M*M)
アルゴリズムがあります。これをより効率的に解決するための標準的な方法があるのだろうかと思います。必要に応じて前処理を適用したいと思います。
ボーナスは、ペアを返す代わりに、同じポイントで異なるすべてのシーケンスを返します。
あるいはは、また、私は特定配列がセット中の任意の配列からで一つのインデックスで異なるかどうかを効率的に確認することができ、溶液中の興味。それが助けになるならば、セットでは、2つのシーケンスがそのプロパティを持たないと仮定することができます。
編集:あなたはN
をかなり小さくすることができます。これにより、私は改善のためのO(log(N)*M*M)
のようなものは、私の使用事例にすぐには役立たないということです。
シーケンスに整数が含まれていると仮定できますか? – IVlad
@IVladはい、役立ちます。私の場合、完全なハッシュ関数を持っています(シーケンスではなく要素のために)。 – Philippe