Код 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
- Сравнивай середину с правым концом, а не с левым.
- Полуинтервал и hi = mid, потому что середина сама может быть ответом.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.