从一组数字中选择随机数而无需重复

时间:2019-03-28 18:51:43

标签: scala

我要从X中选择0....N-1个数字,以使所选的数字不会重复。我知道

val rand_pos = Seq.fill(X)(Random.nextInt(N))

生成重复的随机数。有没有一种优雅的方法可以重复获取所需的选定号码?

1 个答案:

答案 0 :(得分:2)

如果N不太大,则可以使用scala.util.Random.shuffle来创建0..N-1的排列,然后取X个元素:

scala.util.Random.shuffle(Range(0,N).toList).take(X)