import scala.collection.mutable.HashSet
object ColumnUniqueNumbers {
def columnsHaveUniqueNumbers(matrix: Array[Array[Int]]): Boolean = {
if (matrix.isEmpty || matrix(0).isEmpty) return true
val numCols = matrix(0).length
for (j <- 0 until numCols) {
val columnSet = new HashSet[Int]()
for (row <- matrix) {
if (!columnSet.add(row(j))) return false // Duplicate found
}
}
true
}
def main(args: Array[String]): Unit = {
val matrix1 = Array(
Array(1, 4, 7),
Array(2, 5, 8),
Array(3, 6, 9)
)
val matrix2 = Array(
Array(1, 4, 7),
Array(2, 4, 8),
Array(3, 6, 9)
)
println(s"Matrix 1 columns have unique numbers: ${columnsHaveUniqueNumbers(matrix1)}")
println(s"Matrix 2 columns have unique numbers: ${columnsHaveUniqueNumbers(matrix2)}")
}
}
/*
run:
Matrix 1 columns have unique numbers: true
Matrix 2 columns have unique numbers: false
*/