2017-11-08 14 views
0

n個の整数の置換を格納し、有効な時間内に値の置換と逆演算の両方を計算する必要があります。Javaにおける置換のためのデータ構造

つまり、私は位置(i)と値(j)を求めることができるように値[0 ... n-1]の並べ替えを保存する必要があります(0 < = i、j < = n)。

  • [7,2,3,6,0,4,8,9,1,5]

:例-とし、我々は値の次の順列を持っていると

私は、次の操作が必要です

  • 位置(7)= 9
  • 値(9)= 7

私のようなそのためのC++ライブラリで、知っている:https://github.com/fclaude/libcds2

はそれを行うことを可能にし、空間と時間に効率的であるJavaで任意の構造やライブラリはありますか?

+0

に遭遇返し重複についての保証はありますか? – Synch

答えて

1

重複がない場合は、Listインターフェイスが必要になります。

それは以下のメソッドを提供します。

  • List#get(index)はインデックスindex
  • List#indexOf(element)を持つ要素を返すには、最初のインデックスはelement
関連する問題