Vic*_*tor 1 ruby ruby-on-rails
我试图在1和最大之间生成n个唯一的随机数
我尝试了以下代码但不起作用(返回重复的数字)
r = [ ]
n.times { v = rand(max) while r.include? v ; r << v}
Run Code Online (Sandbox Code Playgroud)
它出什么问题了?谢谢
添加:
最多是数千
n是10
不,不,不随机生成然后检查,生成uniq数字,然后随机排序!
(1..max).sort_by{rand}
Run Code Online (Sandbox Code Playgroud)
或者,在1.9中:
(1..max).to_a.shuffle
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6377 次 |
| 最近记录: |