我需要用随机数填充大小为 n
的二维数组,但是我需要大约 n(n-1)/2 * .2
或 .4
或 .8
生成的随机数为 -1
,我需要将它们展开。有什么办法可以做到这一点?我考虑过在填充数组时经常将其设置为 -1
并使用计数来跟踪但是没有办法确定那些 -1
分散在阵列中,这可能吗?
最佳答案
我能想到的最简单的方法是:
- 用所需数量的
-1
填充数组的开头 - 用随机数填充数组的其余部分
- 打乱数组,可能使用
std::random_shuffle
或类似的东西。
完成此操作后,您可以确定您拥有正确数量的 -1
,并且它们将随机分布。
关于c++ - 在二维数组中生成随机数时保证特定数字的 X 数量的任何方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728074/