Задача
Дана сетка из суши (1) и воды (0) с одним островом без внутренних озёр. Верните периметр острова.
Примеры
Пример 1
Input: grid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]]
Output: 16
Пояснение
Периметр острова равен 16.
Пример 2
Input: grid = [[1]]
Output: 4
Пример 3
Input: grid = [[1,0]]
Output: 4
Решение
Решение
// Time Complexity: O(m * n) // Space Complexity: O(1) var islandPerimeter = function(grid) { const rows = grid.length; const cols = grid[0].length; let sum = 0; for (let r = 0; r < rows; r++) { for (let c = 0; c < cols; c++) { if (grid[r][c] === 1) { sum += 4; if (r > 0 && grid[r - 1][c] === 1) sum -= 2; if (c > 0 && grid[r][c - 1] === 1) sum -= 2; } } } return sum; };