2015. Заливка области
Medium
3 решили
Дана таблица цветов
Старт
image, стартовая клетка (sr, sc) и новый цвет color. Это «ведро заливки»: из старта перекрасьте в color саму клетку и всех соседей того же исходного цвета, до которых можно дойти шагами вверх/вниз/влево/вправо. По диагонали ходить нельзя. Верните таблицу после заливки.Старт
(1, 1), новый цвет 2:1 1 1 2 2 2 1 1 0 → 2 2 0 1 0 1 2 0 1правый нижний
1 не трогаем: до него нельзя дойти, не наступив на 0.Примеры:
Вход:
{"image": [[1, 1, 1], [1, 1, 0], [1, 0, 1]], "sr": 1, "sc": 1, "color": 2}
Выход:
[[2, 2, 2], [2, 2, 0], [2, 0, 1]]
Объяснение: Из (1,1) заливаем связную единицу; правый нижний 1 отделён нулём и остаётся 1.
Вход:
{"image": [[0, 0, 0], [0, 0, 0]], "sr": 0, "sc": 0, "color": 0}
Выход:
[[0, 0, 0], [0, 0, 0]]
Объяснение: Новый цвет совпадает со стартовым — таблица не меняется.
Вход:
{"image": [[1, 2, 1], [2, 2, 2], [1, 2, 1]], "sr": 1, "sc": 1, "color": 3}
Выход:
[[1, 3, 1], [3, 3, 3], [1, 3, 1]]
Объяснение: Заливка идёт крестом из двоек; угловые единицы соседями по стороне не являются.
Ограничения:
m == image.length
n == image[i].length
1 <= m, n <= 50
0 <= image[i][j], color <= 50
0 <= sr < m
0 <= sc < n
Решите эту задачу в браузере
Создайте бесплатный аккаунт — редактор Python, Java, JavaScript и Go, проверка на тестах за секунды.
Комментарии (0)
Зарегистрируйтесь или войдите, чтобы оставить комментарий
Пока нет комментариев. Будьте первым!