在LUA中有大量的示例,这些示例没有重复项,而只有一个标准math.random(x,y)可以得到一个范围内的一组随机整数。...
...但是我在查找一个范围之间的随机数时遇到了麻烦,但是允许x重复。对于我的迫切需求,我可以允许一组重复项,但是拥有可在其中为将来的项目设置“重复值”的代码将是很棒的。
示例::我想生成一个由1-10之间的10个整数组成的列表...每个值可以是1-10之间的任何值,但是任何一个数字只能生成并添加到列表两次。
示例结果:1,1,2,4,5,5,7,7,8,9
在此示例中,math.random()结果试图吐出3个或更多相同的数字,但是代码使它返回并再次尝试是否已经产生2个相同的数字。
提前谢谢!
答案 0 :(得分:1)
您可以使用“合并技巧”:
为5个(10 /重复数)元素创建“不规则的”数字数组:1,2,5,7,9
重复#1
合并数组。
您可以使用minValue,maxValue,totalNumber,numberOfDublicates的参数将其通用化,但是需要更多的代码来处理10/3问题和maxValue
答案 1 :(得分:0)