-4

有人可以为我做这件事吗?

编写一个函数,返回一个包含 1000 个元素的整数数组,其中包含 1 到 1000 的随机顺序值。任何数字都不能重复或省略。

以下是解决上述问题的提示:用于Random rnd=new Random()创建随机数生成器的新实例并rnd.Next(1,1000)获取 1 到 1000 之间的随机整数值。

非常感谢。

4

3 回答 3

3

我怀疑您的考官可能正在寻找Fisher-Yates Shuffle,因此以下答案可能过于简洁。

Random r = new Random();
public int[] GetArr()
{
    return Enumerable.Range(1, 1000).OrderBy(_ => r.Next()).ToArray();
}
于 2013-04-12T10:16:59.187 回答
-1

你试过吗: - 生成一个随机数 - 检查他是否已经在选项卡中 - 把它放在你的数组中,在第一个空闲位置

唯一的问题是它最终会大幅减速

于 2013-04-12T10:16:59.957 回答
-2

您可能想尝试创建一个包含 int 和 bool 的类,bool 可以“使用”,然后 int 可以是索引,然后使用随机数生成器,获取与输出关联的数字,然后检查该数字是否被您的类的数组使用,如果没有,则将其推送到整数列表中,然后一旦完成将列表作为数组返回?

于 2013-04-12T10:21:56.570 回答