Ctrl K

Поиск в таблице-цепочке

Средняя
Дана таблица целых чисел grid размером m × n. Она устроена так: - каждая строка отсортирована по неубыванию; - первое число каждой строки больше последнего числа предыдущей строки. Иными словами, если выписать строки одну за другой, получится отсортированный список. Верните True, если число value есть в таблице, иначе False. Постарайтесь уложиться в O(log(m·n)).
Пример 1
grid=[[2, 4, 4, 9], [12, 15, 18, 21], [30, 33, 40, 41]], value=18 → True

18 стоит во второй строке.

Пример 2
grid=[[2, 4, 4, 9], [12, 15, 18, 21], [30, 33, 40, 41]], value=10 → False

10 больше последнего числа первой строки и меньше первого числа второй — его нигде нет.

Пример 3
grid=[[-7]], value=-7 → True
Ограничения
  • 1 ≤ m, n ≤ 100
  • -10⁴ ≤ grid[i][j], value ≤ 10⁴
  • Строки отсортированы по неубыванию
  • grid[i][0] > grid[i-1][n-1]
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПоиск в таблице, упорядоченной по строкам и столбцам СредняяK-е по величине в упорядоченной таблице СредняяМаршрут с самым высоким узким местом СредняяОбщее число во всех строках СредняяСамый большой лёгкий квадрат Средняя
загружаем Python…
Вход
grid=[[2, 4, 4, 9], [12, 15, 18, 21], [30, 33, 40, 41]], value=18
Ожидается
True

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