ストリーミングデータ(10分ごとに10ミリ秒のストリング)を仮定すると、2つのストリングが全く同じ文字であるが異なるオーダーであれば、一度。ストリーミングデータを格納
2つの文字列がO(n)時間で動作するこの基準を満たし、各文字列の文字の頻度ヒストグラムを作成し、それらのヒストグラムが同じかどうかを確認するソリューションがあります。しかし、新しい文字列を(< = 10 M)の文字列と比較しなければならないので、これはうまくいきません。私は、各文字列をヒストグラムとして保存し、それらのサイズに基づいて異なるブロックでそれらを区切ると、それはより効率的なものにすることができますが、それでもなお巨大な時間の複雑さを持つことができます。ヒストグラム入力(文字列: "cacao" - >ヒストグラム: "a2:c2:o1")で動作する完璧なハッシュ関数を持つことが理想的です。
文字列は任意の長さですか、またはそれらは典型的な長さですか? – AJNeufeld
50文字以上 – user3639557
"新しい文字列を(<= 10 M)保存された文字列と比較する必要があるため、これはうまくいきません。O(1)ではなくO(n) – Martheen