我在一个由随机生成的数字(从1到4)填充的多维数组中创建一个4x4数独游戏。现在我必须搜索重复项并用其他随机数替换它们,直到在单行,单列和四个2x2子矩阵上有唯一的数字。我该怎么做呢?
这是生成网格的代码:
func fill (N:Int) {
for row in 0..<N {
//Append an empty row
matrix.append([Int]())
for _ in 0..<N {
//Populate the row
matrix[row].append(Int(arc4random_uniform(4)+1))
}
}
}
fill(N: 4)
您可以将数组更改为集合(删除重复项),然后再更改为数组。但是你的顺序可能会改变。
matrix = Array(Set(matrix))