Задача 9: Гниющие апельсины

Напишите определение функции orangesRotting(grid), которая принимает на вход:

  • grid: матрицу размера m x n, где:
    • 0 обозначает пустую ячейку,
    • 1 обозначает свежий апельсин,
    • 2 обозначает гнилой апельсин.

Каждую минуту свежий апельсин, соседний с гнилым по четырем направлениям (вертикально или горизонтально), становится гнилым.

Верните минимальное количество минут, которое требуется для того, чтобы в матрице не осталось ни одного свежего апельсина. Если это невозможно, верните -1.


Примеры ввода и вывода

Пример 1:

Ввод: grid = [[2,1,1],[1,1,0],[0,1,1]]
Вывод: 4

Пример 2:

Ввод: grid = [[2,1,1],[0,1,1],[1,0,1]]
Вывод: -1
Пояснение: Апельсин в левом нижнем углу (строка 2, столбец 0) никогда не сгниет, так как апельсины гниют только в 4 направлениях.

Пример 3:

Ввод: grid = [[0,2]]
Вывод: 0
Пояснение: Так как на 0 минуте нет свежих апельсинов, ответ 0.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии