https://leetcode.com/problems/image-smoother/ | Easy |
---|
Дана матрица img
размером m x n
, представляющая изображение в оттенках серого, где каждое значение — это яркость пикселя от 0 до 255. Необходимо сгладить изображение, заменив значение каждого пикселя средним значением (округлённым вниз) самого пикселя и всех его соседей (включая диагональные), которые находятся в пределах границ изображения.
class Solution {
fun imageSmoother(img: Array<IntArray>): Array<IntArray> {
val m = img.size
val n = img[0].size
val result = Array(m) { IntArray(n) }
for (i in 0 until m) {
for (j in 0 until n) {
var sum = 0
var count = 0
for (di in -1..1) {
for (dj in -1..1) {
val ni = i + di
val nj = j + dj
if (ni in 0 until m && nj in 0 until n) {
sum += img[ni][nj]
count++
}
}
}
result[i][j] = sum / count
}
}
return result
}
}