题目描述:
示例 1:
示例 2:
由于这是一个随机问题,允许多个答案,因此下列输出都可以被认为是正确的:
[null,1,1,1,1,0]
[null,1,1,1,1,1]
[null,1,1,1,0,0]
[null,1,1,1,0,1]
[null,1,0,1,0,0]
......
诸若此类。
思路一:
代码实现:
class Solution {
public int len;
public int[] arr;
public int total;
public Solution(int[] w) {
len = w.length;
total = 0;
for (int i = 0; i < len; i++) {
total += w[I];
}
arr = new int[total]; // 初始化容器
int idx = 0;
for (int i = 0; i < len; i++) {
for (int j = 0; j < w[i]; j++) {
arr[idx++] = i; // 往容器放‘球’
}
}
}
public int pickIndex() {
Random ran = new Random();
int num = ran.nextInt(total);
return arr[num]; // 摸’球‘
}
}