cswork / libraryOpen practice workspace

Coding questions · LinkedIn

Count connected land components in a grid

This question evaluates understanding of grid traversal and graph connectivity concepts, focusing on modeling a 2D matrix as adjacency relationships within the coding and algorithms domain.

You are given a 2D grid of characters where:

  • '1' represents land
  • '0' represents water

A group of land cells forms an island if they are connected 4-directionally (up, down, left, right). Determine the number of islands in the grid.

Input

  • grid: an m x n matrix of characters ('0' or '1').

Output

  • Return an integer: the number of islands.

Constraints

  • 1 <= m, n <= 300
  • grid[i][j] ∈ {'0','1'}

Notes

  • Diagonal adjacency does not connect islands.
  • You may modify the grid in-place if desired.

Count Islands

Examples

Example 1

Input: ([['1','1','0','0'], ['1','0','0','1'], ['0','0','1','1']],)
Output: 2

Explanation: Two regions.

Example 2

Input: ([[1, 1], [1, 1]],)
Output: 1

Explanation: One island.

Hints

  1. Start with a direct data structure representation.
  2. Handle edge cases before the main loop.