Задача

Предположим, что массив длины n , отсортированный в порядке возрастания, повернут (сдвинут) от 1 до n раз. Например, массив nums = [0,1,2,4,5,6,7] может стать:

  • [4,5,6,7,0,1,2], если он был повернут 4 раза.
  • [0,1,2,4,5,6,7], если он был повернут 7 раз.

Заметьте, что поворот массива [a[0], a[1], a[2], ..., a[n-1]] 1 раз приводит к массиву [a[n-1], a[0], a[1], a[2], ..., a[n-2]] .

Вам дан отсортированный повернутый массив nums из уникальных элементов, верните минимальный элемент этого массива.

Вы должны написать алгоритм, который работает за время O(log n) .

Примеры

Пример 1

Input: nums = [3,4,5,1,2]
Output: 1

Пример 2

Input: nums = [4,5,6,7,0,1,2]
Output: 0

Пример 3

Input: nums = [11,13,15,17]
Output: 11

Решение