import java.util.HashSet;
public class ColumnUniqueNumbers {
public static boolean columnsHaveUniqueNumbers(int[][] matrix) {
if (matrix.length == 0 || matrix[0].length == 0) {
return true;
}
int numCols = matrix[0].length;
for (int j = 0; j < numCols; j++) {
HashSet<Integer> columnSet = new HashSet<>();
for (int[] row : matrix) {
if (!columnSet.add(row[j])) {
return false;
}
}
}
return true;
}
public static void main(String[] args) {
int[][] matrix1 = {
{1, 4, 7},
{2, 5, 8},
{3, 6, 9}
};
int[][] matrix2 = {
{1, 4, 7},
{2, 4, 8},
{3, 6, 9}
};
System.out.println("Matrix 1 columns have unique numbers: " + columnsHaveUniqueNumbers(matrix1));
System.out.println("Matrix 2 columns have unique numbers: " + columnsHaveUniqueNumbers(matrix2));
}
}
/*
run:
Matrix 1 columns have unique numbers: true
Matrix 2 columns have unique numbers: false
*/