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

1 Answer

0 votes
function columnsHaveUniqueNumbers(matrix: number[][]): boolean {
    if (!matrix.length || !matrix[0].length) {
        return true;
    }

    const numCols: number = matrix[0].length;
    for (let j: number = 0; j < numCols; j++) {
        const columnSet: Set<number> = new Set<number>();

        for (const row of matrix) {
            if (columnSet.has(row[j])) {
                return false;
            }
            columnSet.add(row[j]);
        }
    }
    return true;
}

const matrix1: number[][] = [
    [1, 4, 7],
    [2, 5, 8],
    [3, 6, 9]
];

const matrix2: number[][] = [
    [1, 4, 7],
    [2, 4, 8],
    [3, 6, 9]
];

console.log("Matrix 1 columns have unique numbers:", columnsHaveUniqueNumbers(matrix1));
console.log("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
...