import java.util.HashMap;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
public class CommonElementMatrix {
public static int findCommonElementInMatrixRows(List<List<Integer>> matrix) {
int rows = matrix.size();
if (rows == 0) return -1; // Handle empty matrix
int cols = matrix.get(0).size();
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < rows; i++) {
map.put(matrix.get(i).get(0), map.getOrDefault(matrix.get(i).get(0), 0) + 1);
for (int j = 1; j < cols; j++) {
if (!matrix.get(i).get(j).equals(matrix.get(i).get(j - 1))) {
int val = matrix.get(i).get(j);
map.put(val, map.getOrDefault(val, 0) + 1);
}
}
}
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
if (entry.getValue() == rows) {
return entry.getKey();
}
}
return -1;
}
public static void main(String[] args) {
List<List<Integer>> matrix = Arrays.asList(
Arrays.asList(1, 2, 3, 5, 36),
Arrays.asList(4, 5, 7, 9, 10),
Arrays.asList(5, 6, 8, 9, 18),
Arrays.asList(1, 3, 5, 8, 24)
);
int result = findCommonElementInMatrixRows(matrix);
if (result != -1) {
System.out.println("Common element in all rows: " + result);
} else {
System.out.println("No common element found in all rows.");
}
}
}
/*
run:
Common element in all rows: 5
*/