Ctrl K

Первая и последняя копия

Средняя
Таблица результатов scores отсортирована по неубыванию, одинаковые значения могут повторяться. Найдите, где в ней лежит значение wanted: верните [первая позиция, последняя позиция] (нумерация с нуля). Если такого значения нет, верните [-1, -1]. Список может быть очень длинным, поэтому решение должно работать за O(log n).
Пример 1
scores=[2, 4, 4, 4, 9, 11], wanted=4 → [1, 3]

Четвёрки занимают позиции с 1 по 3.

Пример 2
scores=[-3, 0, 6], wanted=5 → [-1, -1]

Пятёрки в списке нет.

Пример 3
scores=[7], wanted=7 → [0, 0]
Ограничения
  • 0 ≤ len(scores) ≤ 10⁵
  • -10⁹ ≤ scores[i], wanted ≤ 10⁹
  • scores отсортирован по неубыванию
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПоиск в сдвинутом отсортированном массиве СредняяПоиск в таблице-цепочке СредняяПоиск в сдвинутом массиве с повторами СредняяМинимум в сдвинутом списке СредняяЕдинственная вершина Средняя
загружаем Python…
Вход
scores=[2, 4, 4, 4, 9, 11], wanted=4
Ожидается
[1, 3]

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