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

MediumAlgo
10:00
Лучше работает на десктопе
GraphsDFSBFS

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

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

Сигнатура

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

Примеры

num_islands([["1","1","0"],["0","1","0"],["0","0","1"]]) → 2
num_islands([["0"]]) → 0

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 для запуска