Количество островов

MediumАлгоритмы
10:00
Лучше работает на десктопе
GraphsDFSBFS

Дана 2D сетка (grid) из строк "1" (земля) и "0" (вода). Остров — это группа соединённых "1", окружённая водой. Соединение — по горизонтали или вертикали (не по диагонали).

Подсчитайте количество островов.

Сигнатура

def num_islands(grid: list[list[str]]) -> int:

Constraints

  • 1 ≤ rows, cols ≤ 300
  • grid[i][j] ∈ {"0", "1"}

Примеры

Пример 1

Вход:
grid = [["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]]
Выход:1

Пример 2

Вход:
grid = [["1","1","0","0","0"],["1","1","0","0","0"],["0","0","1","0","0"],["0","0","0","1","1"]]
Выход:3

Пример 3

Вход:
grid = [["0"]]
Выход:0
Консоль
Нажмите Run или Ctrl+Enter для запуска