1、一个整形数组,假如长度为len2、一个随机产生1和0这两个整数的随机算法,这个方法为int R(){//省略实现,不需要关心如何实现此方法}3、现在需要在这个整数数组中随机分配k个1(k<len),其它都分配为0这个怎样实现?
2 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
int count_1 = 0;
int count_0 = 0;
int[] arr = new int[len];
for (int i = 0; i < 10; i++) {
int value = R();
if (count_1 < k && count_0 < len - k) {
if (value == 1)
count_1++;
if (value == 0)
count_0++;
arr[i] = value;
} else {
if (count_1 == k) {
arr[i] = 0;
} else {
arr[i] = 1;
}
}
}
添加回答
举报
0/150
提交
取消