回答編集履歴
3
修正
answer
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
|
|
5
5
|
また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。
|
|
6
6
|
|
|
7
|
-
連想配列を使う方法もあり、これもセットと同程度
|
|
7
|
+
連想配列を使う方法もあり、これもセットと同程度に高速ですが、特に関連付ける値がないのならセットでいいと思います。どちらも内部でハッシュを使っています。
|
2
追記
answer
CHANGED
|
@@ -2,4 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
[重複しない乱数をつくるには](https://teratail.com/questions/66584)
|
|
4
4
|
|
|
5
|
-
また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。
|
|
5
|
+
また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。
|
|
6
|
+
|
|
7
|
+
連想配列を使う方法もあり、これもセットと同程度ますが、特に関連付ける値がないのならセットでいいと思います。どちらも内部でハッシュを使っています。
|
1
追記
answer
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
乱数の幅が狭いなら(たとえばトランプなど)、一度最小値から最大値までの値が入ったリストを作っておいて、それをシャッフルするのが高速です。
|
|
2
2
|
|
|
3
|
-
[重複しない乱数をつくるには](https://teratail.com/questions/66584)
|
|
3
|
+
[重複しない乱数をつくるには](https://teratail.com/questions/66584)
|
|
4
|
+
|
|
5
|
+
また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。
|