gpt4 book ai didi

algorithm - 填充区间的随机数生成器

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:01 24 4
gpt4 key购买 nike

您将如何实现一个随机数生成器,在给定时间间隔的情况下(随机地)生成该时间间隔内的所有数字,不重复?

它应该消耗尽可能少的时间和内存。

刚刚发明的 C#-ruby-ish 伪代码示例:

interval = new Interval(0,9)
rg = new RandomGenerator(interval);
count = interval.Count // equals 10
count.times.do{
print rg.GetNext() + " "
}

这应该输出如下内容:

1 4 3 2 7 5 0 9 8 6 

最佳答案

用区间填充一个数组,然后打乱它。

打乱 N 个元素数组的标准方法是在 0 和 N-1 之间选择一个随机数(比如 R),然后将项目 [R] 与项目 [N] 交换。然后从N中减一,重复直到N=1。

关于algorithm - 填充区间的随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2280725/

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