How to check if a matrix columns contain numbers without repetition in Swift

1 Answer

0 votes
import Foundation

func columnsHaveUniqueNumbers(_ matrix: [[Int]]) -> Bool {
    guard !matrix.isEmpty, !matrix[0].isEmpty else { return true }

    let numCols = matrix[0].count
    for j in 0..<numCols {
        var columnSet = Set<Int>()

        for row in matrix {
            if !columnSet.insert(row[j]).inserted {
                return false // Duplicate found
            }
        }
    }
    return true
}

let matrix1 = [
    [1, 4, 7],
    [2, 5, 8],
    [3, 6, 9]
]

let matrix2 = [
    [1, 4, 7],
    [2, 4, 8],
    [3, 6, 9]
]

print("Matrix 1 columns have unique numbers:", columnsHaveUniqueNumbers(matrix1))
print("Matrix 2 columns have unique numbers:", columnsHaveUniqueNumbers(matrix2))

 
 
/*
run:
 
Matrix 1 columns have unique numbers: true
Matrix 2 columns have unique numbers: false
 
*/

 



answered May 28, 2025 by avibootz
...