#827

Making A Large Island

expert · 1260 · lc hard +32 · verified · 56.3% accepted · 5,014 likes · top 50%

Description

You are given an n x n binary matrix grid. You may change at most one 0 cell to 1.

Return the size of the largest island in grid after applying this operation.

An island is a group of 1-cells connected in four directions.

Example 1:

Input: grid = [[1,0],[0,1]]
Output: 3
Explanation: Change one 0 to 1 and connect two 1s, then we get an island with area = 3.

Example 2:

Input: grid = [[1,1],[1,0]]
Output: 4
Explanation: Change the 0 to 1 and make the island bigger, only one island with area = 4.

Example 3:

Input: grid = [[1,1],[1,1]]
Output: 4
Explanation: Can't change any 0 to 1, only one island with area = 4.

Code

1
2
3