Максимальная площадь острова

Medium
Дан бинарный grid. Остров - группа единиц, соединенных по горизонтали или вертикали. Найдите максимальную площадь острова.

Пример grid:
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│0│0│1│0│0│0│0│1│0│0│0│0│0│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│0│0│0│0│0│0│0│1│1│1│0│0│0│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│0│1│1│0│1│0│0│0│0│0│0│0│0│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│0│1│0│0│1│1│0│0│1│0│1│0│0│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│0│1│0│0│1│1│0│0│1│1│1│0│0│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│0│0│0│0│0│0│0│0│0│0│1│0│0│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│0│0│0│0│0│0│0│1│1│1│0│0│0│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│0│0│0│0│0│0│0│1│1│0│0│0│0│
└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

Обнаруженные острова:
• ███ Площадь 2 (верхний левый)
• ██████ Площадь 6 (центральный - максимальный)
• █████ Площадь 5 (правый)

Соединения:
Острова образуются из единиц, соединенных по:
• → Горизонтали
• ↓ Вертикали

Примеры:

Вход: [[0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0], [0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0], [0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0]]
Выход: 6
Вход: [[0, 0, 0, 0, 0, 0, 0, 0]]
Выход: 0
Вход: [[1, 1, 0, 0, 0], [1, 1, 0, 0, 0], [0, 0, 0, 1, 1], [0, 0, 0, 1, 1]]
Выход: 4

Ограничения:

m == grid.length n == grid[i].length 1 <= m, n <= 50 grid[i][j] равно 0 или 1

Теги:

Матрица DFS

Комментарии (0)

Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!