Given an m x n 2D binary grid which represents a map of '1's (land) and '0's (water), return the number of islands.
An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.
This is a classic grid BFS problem where we use BFS to explore and mark all connected land cells belonging to the same island.
grid = [
["1","1","1","1","0"],
["1","1","0","1","0"],
["1","1","0","0","0"],
["0","0","0","0","0"]
]1grid = [
["1","1","0","0","0"],
["1","1","0","0","0"],
["0","0","1","0","0"],
["0","0","0","1","1"]
]3m == grid.lengthn == grid[i].length1 <= m, n <= 300grid[i][j] is "0" or "1"Click "Run" to execute your code against test cases
Socratic guidance - I'll ask questions, not give answers