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

Минимум в повёрнутом массиве

Условие

Найди минимальный элемент повёрнутого отсортированного массива без повторов.

Примеры

findMin([3, 4, 5, 1, 2]) // 1
findMin([4, 5, 6, 7, 0, 1, 2]) // 0
findMin([1]) // 1

Как подойти

Сравнение с правым концом однозначно: если nums[mid] > nums[hi], точка перелома правее. Сравнение с левым требует разбора лишнего случая. Шаблон левой границы - while (lo < hi) и hi = mid.

Подсказки: 2
  1. Сравнивай середину с правым концом, а не с левым.
  2. Полуинтервал и hi = mid, потому что середина сама может быть ответом.

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

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