Ctrl K

K-е по величине в упорядоченной таблице

Средняя
Дана квадратная таблица grid размером n × n, в которой каждая строка и каждый столбец упорядочены по неубыванию. Дано также число rank. Верните число, которое окажется на месте rank, если выписать все n² чисел таблицы по возрастанию (нумерация с единицы). Повторяющиеся значения занимают отдельные места. Постарайтесь обойтись памятью меньше O(n²) — без копирования всей таблицы.
Пример 1
grid=[[2, 4, 8], [3, 6, 9], [7, 10, 14]], rank=5 → 7

Все числа по возрастанию: 2, 3, 4, 6, 7, 8, 9, 10, 14. Пятое — 7.

Пример 2
grid=[[1, 1], [1, 5]], rank=3 → 1

Три единицы занимают места с первого по третье, повторы считаются отдельно.

Пример 3
grid=[[-4]], rank=1 → -4
Ограничения
  • 1 ≤ n ≤ 300
  • -10⁹ ≤ grid[i][j] ≤ 10⁹
  • Каждая строка и каждый столбец упорядочены по неубыванию
  • 1 ≤ rank ≤ n²
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамые тусклые ряды Лёгкаяk ближайших значений СредняяДроби из простых чисел СредняяМаршрут с самым высоким узким местом СредняяТри подсказки при наборе Средняя
загружаем Python…
Вход
grid=[[2, 4, 8], [3, 6, 9], [7, 10, 14]], rank=5
Ожидается
7

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