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
Inputgrid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]]
Output16
The perimeter is the 16 yellow stripes in the image above.
Example 2
1
Inputgrid = [[1]]
Output4
A 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.

Asked at 10 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate