0

Javaには、ソートされていないint[] values = new int[100];配列があります。すべての値は一意(異なる)であり、比較できません(並べ替える方法がありません)。その値を指定すると、配列内の特定の値のインデックスを取得する一種の逆関数を作成できますか?

現在、ハッシュマップを使用して実行しています。

IntIntMap indices = new IntIntOpenHashMap(100, 1);

for (int i = 0; i < 100; i++) {
     indices.put(values[i], i);
}

他の解決策はありますか?より速いものを好むでしょう。

4

1 に答える 1

0

はい、独自のハッシュ関数を作成するか、ケースに合わせて特定のハッシュ関数を調査できます。値の構造と、これが本当にプログラムのボトルネックであるかどうかによって異なります。

于 2013-09-18T19:34:35.650 に答える