Код Middle Графы: BFS и DFS обновлено
Заливка области
Условие
Матрица цветов, координаты стартовой ячейки и новый цвет. Залей связную область того же цвета. Верни матрицу (мутировать можно).
Примеры
floodFill([[1, 1, 1], [1, 1, 0], [1, 0, 1]], 1, 1, 2) // [[2, 2, 2], [2, 2, 0], [2, 0, 1]]
floodFill([[0, 0], [0, 0]], 0, 0, 0) // [[0, 0], [0, 0]]
Как подойти
Тот же DFS, что и подсчёт островов. Отдельная ловушка: если новый цвет равен старому, условие «уже покрашено» никогда не сработает и рекурсия уйдёт в бесконечность.
Подсказки: 2
- Проверку границ делай в начале рекурсии.
- Если новый цвет совпадает со старым - выходи сразу, иначе зациклишься.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.