arrays - Swift - 在多维数组中搜索重复项 - 数独

标签 arrays swift matrix multidimensional-array sudoku

我正在一个由随机生成的数字(从 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))

关于arrays - Swift - 在多维数组中搜索重复项 - 数独,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40083857/

相关文章:

javascript - Laravel 5.2 中的位置

将文件读取到 byte[] 数组时出现 java.lang.OutOfMemoryError

swift - 在类外调用 UICollectionViewCell 内容

python - 用python计算矩阵中单个单元格周围的单元格总和

Python Numpy - 将非常小的数字视为零

r - R : contrast coefficient matrix or contrast matrix/coding scheme? 中的自定义对比以及如何到达那里?

python - 将 TIFF 图像加载为 numpy 数组

javascript - 从 JS 中的不可变数组中删除元素的最干净方法是什么?

ios - 如何使应用角标(Badge)编号为0? (使用解析和快速)

swift - 使用 Swift 重构/组合多个几乎相同的类的推荐方法?