https://leetcode.com/problems/lucky-numbers-in-a-matrix/description/ | Easy |
---|
Дана матрица matrix
размером m x n
, содержащая различные числа. Необходимо найти все "счастливые числа" в матрице. "Счастливое число" определяется как элемент, который является минимальным в своей строке и одновременно максимальным в своём столбце. Верните список всех таких чисел в любом порядке.
class Solution {
fun luckyNumbers(matrix: Array<IntArray>): List<Int> {
val m = matrix.size
val n = matrix[0].size
val rowMins = IntArray(m) { Int.MAX_VALUE }
val colMaxs = IntArray(n) { Int.MIN_VALUE }
for (i in 0 until m) {
for (j in 0 until n) {
rowMins[i] = minOf(rowMins[i], matrix[i][j])
colMaxs[j] = maxOf(colMaxs[j], matrix[i][j])
}
}
val result = mutableListOf<Int>()
for (i in 0 until m) {
for (j in 0 until n) {
if (matrix[i][j] == rowMins[i] && matrix[i][j] == colMaxs[j]) {
result.add(matrix[i][j])
}
}
}
return result
}
}