回答編集履歴

2

別解

2015/09/04 13:10

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -51,3 +51,15 @@
51
51
  追記
52
52
 
53
53
  自分でコードを書いてみたら,どうやらジェネリクスを持つ要素の配列は作れないようなので,ジェネリクスを使わず型を固定して使ったほうが良さそうです.
54
+
55
+ ---
56
+
57
+
58
+
59
+ 追記2
60
+
61
+ もっと別の方法では,**重みのある要素の数を増やしてしまう**という方法が考えられます.
62
+
63
+ 重みを付ける要素が決まったあと,Listにその要素を増えた重み分追加します.
64
+
65
+ そしてシャッフルしたあと,重複する要素の内最初に出てくるもの以外を取り除く必要があります.

1

ジェネリクス持ちは配列にできないらしい

2015/09/04 13:10

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -41,3 +41,13 @@
41
41
  0. 1. の重みの合計から4. で選ばれた要素の重みを引き,2. に戻る.ただし,3. で取り出すのはすでに選んだ個数分先の要素から(2周目であれば2番目,インデックス番号1から)
42
42
 
43
43
  こうなると思います.
44
+
45
+
46
+
47
+ ---
48
+
49
+
50
+
51
+ 追記
52
+
53
+ 自分でコードを書いてみたら,どうやらジェネリクスを持つ要素の配列は作れないようなので,ジェネリクスを使わず型を固定して使ったほうが良さそうです.