n × n, в клетке heights[i][j] записана её высота. Все высоты разные.
Начинается прилив: в момент времени t вода стоит на уровне t по всей сетке. Находиться в клетке можно, только когда её высота не больше t. Переходить можно в соседнюю по стороне клетку, если обе клетки уже под водой; плыть можно на любое расстояние мгновенно, но выходить за пределы сетки нельзя.
Вы стартуете в левом верхнем углу (0, 0). Верните наименьший момент t, когда можно добраться до правого нижнего угла (n - 1, n - 1).heights=[[0, 3], [2, 1]] → 2
Правая нижняя клетка имеет высоту 1, но обе её соседки выше: путь через (1, 0) открывается при уровне 2, через (0, 1) — при уровне 3. Значит, ответ 2.
heights=[[0, 1, 2], [7, 8, 3], [6, 5, 4]] → 4
Путь идёт по краю: 0 → 1 → 2 → 3 → 4. Самая высокая клетка на нём — 4, раньше финиш недоступен.
heights=[[0]] → 0
Старт совпадает с финишем, и клетка высотой 0 под водой с самого начала.
heights — квадратная матрица n × nheights — это все числа от 0 до n² − 1, каждое ровно по одному разуheights=[[0, 3], [2, 1]]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 25 тестов на сервере, включая скрытые.