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

Бинарный поиск

Условие

Индекс target в отсортированном массиве, иначе -1.

Примеры

search([-1, 0, 3, 5, 9, 12], 9) // 4
search([-1, 0, 3, 5, 9, 12], 2) // -1
search([], 1) // -1

Как подойти

Определись с инвариантом раз и навсегда: [lo, hi] включительно → while (lo <= hi), сдвиги на mid±1. Половинчатые версии этого и порождают вечные баги.

Подсказки: 2
  1. Границы включительные, значит условие цикла со знаком равенства.
  2. mid + 1 и mid - 1, иначе зациклишься.

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

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