Код Senior Бинарный поиск обновлено

Любой локальный максимум

Условие

Найди индекс элемента, который больше обоих соседей. Края считаются граничащими с минус бесконечностью. Ответ любой из подходящих.

Что проверяют тесты

  • находит пик

  • монотонно возрастающий

  • один элемент

  • пик слева

Как подойти

Контринтуитивный пример: бинарный поиск не требует сортировки, достаточно свойства, по которому можно отбросить половину. Здесь: если nums[mid] < nums[mid+1], то справа гарантированно есть пик, потому что последовательность либо продолжит расти до конца, либо развернётся.

Подсказки: 2
  1. Сравнивай середину с правым соседом: подъём означает, что пик правее.
  2. Массив не отсортирован - и всё равно бинарный поиск работает.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.