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.lengthn == grid[i].length1 <= m, n <= 50grid[i][j]is either0or1