shlogg · Early preview
Md Ariful Haque @mah-shamim

Making A Large Island In Grid After Changing At Most One 0 To 1

Identify islands with DFS/BFS, calculate sizes & store in dict/array. For each 0, check neighbors & calc potential new island size. Return max size found or largest island if no 0s.

827. Making A Large Island
Difficulty: Hard
Topics: Array, Depth-First Search, Breadth-First Search, Union Find, Matrix
You are given an n x n binary matrix grid. You are allowed to change at most one 0 to be 1.
Return the size of the largest island in grid after applying this operation.
An island is a 4-directionally connected group of 1s.
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...