Leetcode 200. Number of Islands

Gary Chiang
1 min readApr 29, 2021

[medium][Amazon]

Given an m x n 2D binary grid 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.

Example 1:

Input: grid = [
["1","1","1","1","0"],
["1","1","0","1","0"],
["1","1","0","0","0"],
["0","0","0","0","0"]
]
Output: 1

Example 2:

Input: grid = [
["1","1","0","0","0"],
["1","1","0","0","0"],
["0","0","1","0","0"],
["0","0","0","1","1"]
]
Output: 3

Constraints:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 300
  • grid[i][j] is '0' or '1'.

[First- DFS]

Test point

  1. know how to use DFS

[Second-BFS]

using queue, and visited grid to note every island travel before

put connected land into queue, and check those land connect to each other.

This is more intuitive, but more difficult to solve.

--

--

Gary Chiang

CS new grad, 6 years experience related to supply chain management. Located in Bay area