n различных целых чисел, отсортированный по возрастанию. Его циклически сдвинули вправо от 1 до n раз: при одном сдвиге последний элемент переезжает в начало. Например, [2, 5, 8, 11] после двух сдвигов превращается в [8, 11, 2, 5], а после четырёх снова становится [2, 5, 8, 11].
Дан получившийся список ring. Верните наименьший элемент в нём.
Уложитесь в O(log n) по времени.ring=[40, 55, 70, 3, 18] → 3
Исходный список был [3, 18, 40, 55, 70]; его сдвинули на 3 позиции вправо, и наименьшее значение 3 оказалось на позиции 3.
ring=[-6, -2, 8, 13] → -6
Список сдвинули ровно на свою длину, и он вернулся в исходный вид — минимум стоит первым.
ring=[21, -9] → -9
Исходный список [-9, 21] сдвинули на одну позицию: 21 переехал в начало. Минимум — -9.
n = ring.length ≤ 5000ring[i] ≤ 5000ring различныring — отсортированный по возрастанию список, циклически сдвинутый от 1 до n разring=[40, 55, 70, 3, 18]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.