https://leetcode.com/problems/island-perimeter/description/?envType=daily-question&envId=2024-04-18
/**
* @param {number[][]} grid
* @return {number}
*/
var islandPerimeter = function(grid) {
const rows = grid.length
const cols = grid[0].length
let perimeter = 0
const isWater = (r, c) => {
return r < 0 || r >= rows || c < 0 || c >= cols || grid[r][c] === 0
}
for (let r = 0; r < rows; r++) {
for (let c = 0; c < cols; c++) {
if (grid[r][c] === 1) {
if (isWater(r - 1, c)) perimeter++
if (isWater(r + 1, c)) perimeter++
if (isWater(r, c - 1)) perimeter++
if (isWater(r, c + 1)) perimeter++
}
}
}
return perimeter
};
Top comments (0)