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