https://leetcode.com/problems/island-perimeter/ | Easy |
---|
Дан двумерный сеточный массив grid
, состоящий из 0
(вода) и 1
(земля). В сетке существует ровно один остров (связная область из 1
), окружённый водой. Необходимо определить периметр этого острова.
class Solution {
fun islandPerimeter(grid: Array<IntArray>): Int {
var perimeter = 0
val rows = grid.size
val cols = grid[0].size
for (i in 0 until rows) {
for (j in 0 until cols) {
if (grid[i][j] == 1) {
perimeter += 4
if (i > 0 && grid[i - 1][j] == 1) perimeter -= 2
if (j > 0 && grid[i][j - 1] == 1) perimeter -= 2
}
}
}
return perimeter
}
}