Top 150 InterviewЛегко

Количество островов ---ПИСЕП--- Подробное руководство и реализация __PYTERM_0__ для задачи «Количество островов». ---ПИСЕП--- Учитывая двумерную двоичную сетку m x n, которая представляет собой карту из единиц (суша) и нулей (вода), верните количество островов. Остров окружен водой и образован путем соединения соседних земель по горизонтали или вертикали. Вы можете предположить, что все четыре края сетки окружены водой. Напишите функцию __PYCODE_0__. ---ПИСЕП--- 150 лучших интервью ---ПИСЕП--- Графики ---ПИСЕП--- Проблема «Количество островов» является ключевой задачей в разделе «Графики». ---ПИСЕП--- Эта реализация фокусируется на логике простого уровня в __PYTERM_0__. ---ПИСЕП--- В предоставляемых нами решениях мы уделяем приоритетное внимание технической точности и читаемости кода. ---ПИСЕП--- Алгоритмическая инженерия ---ПИСЕП--- Соревновательное программирование ---ПИСЕП--- Технические оценки ---ПИСЕП--- Визуализация логического потока для количества островов. ---ПИСЕП--- Внимательно прочитайте постановку задачи для числа островов. ---ПИСЕП--- Нарисуйте простое итеративное решение. ---ПИСЕП--- Ищите лишние вычисления. ---ПИСЕП--- Используйте хеширование или сортировку, чтобы ускорить процесс. ---ПИСЕП--- Очистите код для производственных стандартов. ---ПИСЕП--- Пустые входные структуры ---ПИСЕП--- Одноэлементные входы ---ПИСЕП--- Большие числовые границы ---ПИСЕП--- Объясните логику вашего подхода к графикам. ---ПИСЕП--- Обсудите крайние случаи, такие как нулевые или пустые входные данные. ---ПИСЕП--- Применяются свойства задачи стандартных графиков. ---ПИСЕП--- Рассмотрите возможность использования структур данных, специфичных для Graphs, таких как наборы или кучи. ---ПИСЕП--- Максимальная площадь острова ---ПИСЕП--- Подробное руководство и реализация __PYTERM_0__ для задачи «Максимальная площадь острова». ---ПИСЕП--- Вам дана сетка двоичной матрицы размером m x n. Остров — это группа единиц (представляющих землю), соединенных в четырех направлениях (горизонтально или вертикально). Вы можете предположить, что все четыре края сетки окружены водой. Площадь острова — это количество ячеек со значением 1 на острове. Возвращает максимальную площадь острова в сетке. Если острова нет, верните 0. Напишите функцию __PYCODE_0__. ---ПИСЕП--- 150 лучших интервью ---ПИСЕП--- Графики ---ПИСЕП--- Задача «Максимальная площадь острова» является ключевой задачей в разделе «Графики». ---ПИСЕП--- Эта реализация фокусируется на логике простого уровня в __PYTERM_0__. ---ПИСЕП--- В предоставляемых нами решениях мы уделяем приоритетное внимание технической точности и читаемости кода. ---ПИСЕП--- Алгоритмическая инженерия ---ПИСЕП--- Соревновательное программирование ---ПИСЕП--- Технические оценки ---ПИСЕП--- Визуализация логического потока для максимальной площади острова. ---ПИСЕП--- Внимательно прочитайте постановку задачи для максимальной площади острова. ---ПИСЕП--- Нарисуйте простое итеративное решение. ---ПИСЕП--- Ищите лишние вычисления. ---ПИСЕП--- Используйте хеширование или сортировку, чтобы ускорить процесс.

Detailed guide and Python implementation for the 'Number of Islands' problem.

Постановка задачи

Легко

Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands.

An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Write a function numIslands(grid: List[List[str]]) -> int.

Ограничения
  • m == len(grid)
  • n == len(grid[i])
  • 1 <= m, n <= 300
  • grid[i][j] is '0' or '1'

Примеры

Example 1
Input
grid = [["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]]
Output
1
Explanation

There is a single island consisting of all connected '1's starting from top-left.

Example 2
Input
grid = [["1","1","0","0","0"],["1","1","0","0","0"],["0","0","1","0","0"],["0","0","0","1","1"]]
Output
3
Explanation

There are three distinct islands separated by '0's.

Need a Hint?
Consider using Graphs-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Готовы решить?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Открыть в редакторе
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.

Учебник по Python

Циклы Python

Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.

Посмотреть ресурс
Практическое руководство

Как найти длину списка в Python

Узнайте, как найти длину списка в Python с помощью функции len(). Поймите временную сложность O(1) и количество проверок.

Посмотреть ресурс
Шпаргалка

Шпаргалка по строковым методам Python

Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.

Посмотреть ресурс
Сравнение языков

Python против JavaScript: какой язык программирования лучше?

Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.

Посмотреть ресурс