Largest land region with flip

Write codeHard35 minGoogle and Amazon style

Your task

You're given a binary grid of 1s (land) and 0s (water). You may change at most one 0 cell to 1. Return the size of the largest connected land region (4-directionally connected) you can obtain after at most one such flip. If the grid is all 1s already, return the total cell count; if all 0s, the best you can do is 1.

Examples

largest_after_one_flip(grid: list[list[int]]) -> int
Example 1
Inputlargest_after_one_flip([[1, 0], [0, 1]])
Output3