gpt4 book ai didi

javascript - 用随机值填充数组

转载 作者:行者123 更新时间:2023-11-29 21:51:03 25 4
gpt4 key购买 nike

我有两个一维数组,我想在 Processing 中用 10 个唯一的随机 x,y 值填充它们。

例如:

x  y 
- -
3, 9
2, 4
6, 2
7, 5

我的数组是:

表 1 X 值和

表 2 的 Y 值。

我的问题是,如果数字 3,9 已经存在,我不想将 9,3 存储在数组中。

我可以确定 x,y 值(或 y,x)何时已经存在,但是一旦我替换它,我就无法检查生成的随机数是否存在于之前的索引中。

到目前为止,这是我尝试过的。但是,如果已经存在 3 个值,则数组 Table1 和 Table2 将仅存储 7 个值,而不是 10 个。

for (int i=0; i<10; i++) {       
x=(int)random(6);
y=(int)random(6);
if ((Table1[i] != x && Table2[i] != y) || (Table1[i] != y && Table2[i] != x))
{
Table1[i] = x;
Table2[i] = y;
}

有什么办法控制它吗?

最佳答案

我只能想到两种实现它的方法,没有一种是理想的。

  • 检查您生成的数字是否已经存在,如果存在,则生成另一个数字,直到您获得唯一的组合。由于它是随机的,而且如果你非常不走运,你甚至可能以无限循环结束...
  • 创建一个包含所有可能组合的数组。然后,您将生成一个随机索引到该数组([0;array.length[] 中的整数),而不是生成随机数。在那之后,你必须从数组中删除选择的组合(这样它就不能用于下一个循环),以及它的逆(如果你选择(9; 3),你必须删除( 9;3) 和 (3;9)).

关于javascript - 用随机值填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com