function findCommonElementInMatrixRows(array $matrix): int {
$rows = count($matrix);
if ($rows === 0) return -1;
$cols = count($matrix[0]);
$map = [];
foreach ($matrix as $row) {
$map[$row[0]] = ($map[$row[0]] ?? 0) + 1;
for ($j = 1; $j < $cols; $j++) {
if ($row[$j] !== $row[$j - 1]) {
$val = $row[$j];
$map[$val] = ($map[$val] ?? 0) + 1;
}
}
}
foreach ($map as $key => $count) {
if ($count === $rows) {
return $key;
}
}
return -1;
}
$matrix = [
[1, 2, 3, 5, 36],
[4, 5, 7, 9, 10],
[5, 6, 8, 9, 18],
[1, 3, 5, 8, 24]
];
$result = findCommonElementInMatrixRows($matrix);
if ($result !== -1) {
echo "Common element in all rows: $result\n";
} else {
echo "No common element found in all rows.\n";
}
/*
run:
Common element in all rows: 5
*/