package main
import (
"fmt"
)
func columnsHaveUniqueNumbers(matrix [][]int) bool {
if len(matrix) == 0 || len(matrix[0]) == 0 {
return true
}
numCols := len(matrix[0])
for j := 0; j < numCols; j++ {
seen := make(map[int]bool)
for _, row := range matrix {
if seen[row[j]] {
return false
}
seen[row[j]] = true
}
}
return true
}
func main() {
matrix1 := [][]int{
{1, 4, 7},
{2, 5, 8},
{3, 6, 9},
}
matrix2 := [][]int{
{1, 4, 7},
{2, 4, 8},
{3, 6, 9},
}
fmt.Println("Matrix 1 columns have unique numbers:", columnsHaveUniqueNumbers(matrix1))
fmt.Println("Matrix 2 columns have unique numbers:", columnsHaveUniqueNumbers(matrix2))
}
/*
run:
Matrix 1 columns have unique numbers: true
Matrix 2 columns have unique numbers: false
*/