Count Interior Islands After Flooding
OracleData Scientist · Technical ScreenLast updated
This question evaluates understanding of grid-based graph traversal and connected-component detection, focusing on flood-fill logic and the treatment of boundary-connected regions in a binary grid.
You are given an m x n binary grid representing land and water.
1= land0= water
An island is a maximal group of land cells connected 4-directionally (up, down, left, right).
A closed island is an island that does not touch the boundary of the grid. Equivalently, you may imagine first flooding away every land cell that is connected to any boundary land cell, and then counting how many connected land components remain.
Write a function that returns the number of closed islands in the grid.
Clarifications:
- Two land cells belong to the same island if they are connected horizontally or vertically.
- Any island that touches the first/last row or first/last column should not be counted.
- You may solve this using DFS, BFS, or Union-Find.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.