teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2018/04/11 09:03

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -2,7 +2,7 @@
2
2
  0. playerを配列やリストで管理すること
3
3
  0. `[0, 人数)`の整数のうち、2つを重複なくランダムに選択すること
4
4
 
5
- 2番目はいろいろな実装が考えられますが、最も単純なのは次の方法でしょう。
5
+ 2番目はいろいろな実装が考えられますが(※)、最も単純なのは次の方法でしょう。
6
6
  ```Java
7
7
  Random rand = new Random();
8
8
  int idx1 = rand.nextInt(人数);
@@ -13,4 +13,7 @@
13
13
  }
14
14
  ```
15
15
 
16
- あとはidx1番目のプレイヤーとidx2番目のプレイヤーを戦わせればよいです。
16
+ あとはidx1番目のプレイヤーとidx2番目のプレイヤーを戦わせればよいです。
17
+
18
+ ---
19
+ ※ `[0, 人数)`の整数リストをシャッフルし、最初の二つを選択する方法が効率が良い。

1

修正

2018/04/11 09:03

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  次の二つを解決すれば良いです。
2
2
  0. playerを配列やリストで管理すること
3
- 0. `[0, 人数)`の数のうち、2つを重複なく選択すること
3
+ 0. `[0, 人数)`の数のうち、2つを重複なくランダムに選択すること
4
4
 
5
5
  2番目はいろいろな実装が考えられますが、最も単純なのは次の方法でしょう。
6
6
  ```Java