Island Perimeter
You are given a row x col grid representing a map where grid[i][j] = 1 represents land and grid[i][j] = 0 represents water.
Grid cells are connected horizontally/vertically (not diagonally). The grid is completely surrounded by water, and there is exactly one island, meaning one or more connected land cells.
The island does not have "lakes", meaning the water inside is not connected to the water around the island. One cell is a square with side length 1. The grid is rectangular, and its width and height do not exceed 100.
Determine and return the perimeter of the island.
Example 1
0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 0
Input
grid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]]Output
16The perimeter is the 16 yellow stripes in the image above.
Example 2
1
Input
grid = [[1]]Output
4A single land cell has four exposed sides, so the perimeter is 4.
Constraints
- row == grid.length
- col == grid[i].length
- 1 <= row, col <= 100
- grid[i][j] is 0 or 1.
- There is exactly one island in grid.