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

1 Answer

0 votes
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
 
*/

 



answered May 28, 2025 by avibootz
...