为了账号安全,请及时绑定邮箱和手机立即绑定

一个关于数组的问题

一个关于数组的问题

心有法竹 2018-11-23 18:14:39
1、一个整形数组,假如长度为len2、一个随机产生1和0这两个整数的随机算法,这个方法为int R(){//省略实现,不需要关心如何实现此方法}3、现在需要在这个整数数组中随机分配k个1(k<len),其它都分配为0这个怎样实现?
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

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;
}
}
}


查看完整回答
反对 回复 2018-11-25
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞


你这个用不到你的R()方法。你这个应该是在len里面随机选k个位置,选中的是1,没选中的是0。


查看完整回答
反对 回复 2018-11-25
  • 2 回答
  • 0 关注
  • 802 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信