Ctrl K

Значение равно индексу

Лёгкая
Дан массив values из различных целых чисел, отсортированный по возрастанию. Найдите наименьший индекс i (с нуля), для которого values[i] == i. Если такого индекса нет, верните -1. Просмотреть массив целиком за O(n) несложно — попробуйте найти ответ быстрее.
Пример 1
values=[-4, -1, 2, 5, 9] → 2

values[2] = 2 — это первый и единственный такой индекс.

Пример 2
values=[-3, 1, 2, 3] → 1

Совпадают индексы 1, 2 и 3; нужен наименьший — 1.

Пример 3
values=[1, 3, 6] → -1

Ни одно значение не равно своему индексу.

Ограничения
  • 1 ≤ len(values) < 10⁴
  • -10⁹ ≤ values[i] ≤ 10⁹
  • Числа в values различны и идут строго по возрастанию
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМесто на отсортированной полке ЛёгкаяПотерянный билет ЛёгкаяЗначения в обоих списках ЛёгкаяОбщие значения с повторами ЛёгкаяПоиск в упорядоченном списке Лёгкая
загружаем Python…
Вход
values=[-4, -1, 2, 5, 9]
Ожидается
2

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