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
提交
取消