fun findCommonElementInMatrixRows(matrix: Array<IntArray>): Int {
val rows = matrix.size
if (rows == 0) return -1
val cols = matrix[0].size
val freq = mutableMapOf<Int, Int>()
for (i in 0 until rows) {
freq[matrix[i][0]] = freq.getOrDefault(matrix[i][0], 0) + 1
for (j in 1 until cols) {
if (matrix[i][j] != matrix[i][j - 1]) {
val value = matrix[i][j]
freq[value] = freq.getOrDefault(value, 0) + 1
}
}
}
return freq.entries.find { it.value == rows }?.key ?: -1
}
fun main() {
val matrix = arrayOf(
intArrayOf(1, 2, 3, 5, 36),
intArrayOf(4, 5, 7, 9, 10),
intArrayOf(5, 6, 8, 9, 18),
intArrayOf(1, 3, 5, 8, 24)
)
val result = findCommonElementInMatrixRows(matrix)
if (result != -1) {
println("Common element in all rows: $result")
} else {
println("No common element found in all rows.")
}
}
/*
run:
Common element in all rows: 5
*/