AlgoLounge

Max Area of Island

medium

You are given an m x n binary matrix grid. An island is a group of 1's (representing land) connected 4-directionally (horizontal or vertical). You may assume all four edges of the grid are surrounded by water.

The area of an island is the number of cells with a value 1 in the island.

Return the maximum area of an island in grid. If there is no island, return 0.

Examples

Example 1

Input:  grid = [

[1,1,0,0,0], [1,1,0,0,0], [0,0,0,1,1], [0,0,0,1,1] ] Output: 4 Two islands of equal size (4 cells each).

Example 2

Input:  grid = [

[1,1,1], [1,0,1], [1,1,1] ] Output: 8 The island wraps around the center water cell.

Example 3

Input:  grid = [[0,0,0,0,0,0,0,0]]
Output: 0

No islands in the grid.

Constraints

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 50
  • grid[i][j] is either 0 or 1
TypeScript
Loading editor…
List of test cases (8)
Case 1
grid = [[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]]
Case 2
grid = [[0,0,0,0,0,0,0,0]]
Case 3
grid = [[1,1,0,0,0],[1,1,0,0,0],[0,0,0,1,1],[0,0,0,1,1]]
Case 4
grid = [[1,0,1],[0,1,0],[1,0,1]]
Case 5
grid = [[1,1,1],[1,0,1],[1,1,1]]
Case 6
grid = [[1]]
Case 7
grid = [[0]]
Case 8
grid = [[1,1,1,1],[1,1,1,1],[1,1,1,1]]