不重复的数字列表

我需要打印从 1 到 99 的随机数而不重复它们。下面的代码给了我堆栈溢出。


int newNumb= Random.Range(1, 99);

if(acum.Count > 0)

{

    while (acum.Contains(newNumb))

    {

         newNumb= Random.Range(1, 99);

    }

}


慕容3067478
浏览 115回答 3
3回答

慕桂英546537

最好的方法是生成所有必要的数字,然后从该列表中拉出直到为空,创建一个新订单;这通常称为洗牌。您当前的代码花费的时间太长,您需要跟踪已选择的数字,并且只能从剩余的数字中进行选择。在伪代码中generate listwhile list not empty    choose number from list    remove it from list    add to new list
打开App,查看更多内容
随时随地看视频慕课网APP