我需要打印從 1 到 99 的隨機(jī)數(shù)而不重復(fù)它們。下面的代碼給了我堆棧溢出。int newNumb= Random.Range(1, 99);if(acum.Count > 0){ while (acum.Contains(newNumb)) { newNumb= Random.Range(1, 99); }}
3 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
最好的方法是生成所有必要的數(shù)字,然后從該列表中拉出直到為空,創(chuàng)建一個(gè)新訂單;這通常稱為洗牌。
您當(dāng)前的代碼花費(fèi)的時(shí)間太長(zhǎng),您需要跟蹤已選擇的數(shù)字,并且只能從剩余的數(shù)字中進(jìn)行選擇。在偽代碼中
generate list
while list not empty
choose number from list
remove it from list
add to new list
- 3 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報(bào)
0/150
提交
取消