Код 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
  1. Проверку границ делай в начале рекурсии.
  2. Если новый цвет совпадает со старым - выходи сразу, иначе зациклишься.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.