Ctrl K

Единственная вершина на карте

Средняя
Карта местности задана матрицей heights размером m × n: в клетке записана её высота. Соседние по стороне клетки никогда не имеют одинаковой высоты. За краем карты высота меньше любой клетки. **Вершиной** назовём клетку, которая строго выше всех своих соседей сверху, снизу, слева и справа. Гарантируется, что на карте ровно одна вершина. Верните её координаты [строка, столбец] (нумерация с нуля). Перебрать все клетки за O(m · n) несложно — попробуйте найти вершину за O(m log n) или O(n log m).
Пример 1
heights=[[1, 2, 3], [8, 9, 4], [7, 6, 5]] → [1, 1]

Клетка (1, 1) с высотой 9 выше всех четырёх соседей. Других вершин нет: у любой другой клетки есть сосед выше.

Пример 2
heights=[[4, 6, 10, 7]] → [0, 2]

Карта из одной строки. За краем карты высота считается ниже любой клетки, так что вершина — 10 в столбце 2.

Пример 3
heights=[[2, 3], [5, 4], [8, 6]] → [2, 0]
Ограничения
  • 1 ≤ m, n ≤ 500
  • 1 ≤ heights[i][j] ≤ 10⁵
  • Соседние по стороне клетки различны по высоте
  • Вершина на карте ровно одна
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПоиск в таблице-цепочке СредняяПоиск в таблице, упорядоченной по строкам и столбцам СредняяK-е по величине в упорядоченной таблице СредняяМаршрут с самым высоким узким местом СредняяОбщее число во всех строках Средняя
загружаем Python…
Вход
heights=[[1, 2, 3], [8, 9, 4], [7, 6, 5]]
Ожидается
[1, 1]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 44 теста на сервере, включая скрытые.