Island Perimeter
EasyArrayDepth-First SearchBreadth-First SearchMatrix
Solution
export function islandPerimeter(grid: number[][]): number {
const [row, col] = [grid.length, grid[0].length];
let island = 0;
let neighbor = 0;
for (let y = 0; y < row; y++) {
for (let x = 0; x < col; x++) {
if (grid[y][x] === 1) {
island += 1;
if (y < row - 1 && grid[y + 1][x] === 1) {
neighbor += 1;
}
if (x < col - 1 && grid[y][x + 1] === 1) {
neighbor += 1;
}
}
}
}
return 4 * island - 2 * neighbor;
}