生成唯一的随机数并检查重复项

时间:2013-07-24 07:38:17

标签: java algorithm actionscript-3

我想生成一个3 * 6的数字,可以形成一个3rows * 6cols的数组。但我不想在任何专栏中找到重复的内容。它们可以位于同一行中的任何位置,但在每列中,不应存在相同数字的任何重复。是否有生成该算法的算法?

1 个答案:

答案 0 :(得分:1)

按列填充矩阵并使用Set来跟踪您在当前列中已使用的数字。您可以在伪代码中为每个单元格使用do-while语句:

for each column {
  used = new set
  for each cell in column {
    do {
      num = generate random number
    } while (num already in used)
    add num to used
    add num to the current cell
  }
}