Учитывая булеву матрицу X , пусть 0 записей представляют море, а 1 запись представляет землю. Определите остров как вертикально или горизонтально (но не по диагонали) смежные 1 записи.
Первоначальный вопрос заключался в подсчете количества островков в данной матрице. Автор описал рекурсивное решение ( памяти).
Но я безуспешно пытался найти потоковое (слева направо, а затем вниз к следующему ряду) решение, которое динамически подсчитывает острова с или O ( n ) или O ( n + m ) памятью (ограничений нет) за сложность времени). Это возможно? Если нет, то как я могу это доказать?
Несколько примеров ожидаемых выходов для определенных входов для count
функции: