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

Medium
Дан целочисленный массив nums. Изначально он был отсортирован по возрастанию, а затем его один раз «повернули»: некоторый префикс перенесли в конец массива.

Пример поворота: [0,1,2,4,5,6,7][4,5,6,7,0,1,2] (префикс [0,1,2] оказался в конце).

Все значения в nums уникальны. Найдите индекс числа target. Если такого числа нет — верните -1.

Примеры:

Вход: {"nums": [4, 5, 6, 7, 0, 1, 2], "target": 0}
Выход: 4
Объяснение: В массиве [4,5,6,7,0,1,2] число 0 стоит на позиции 4 (индексы с нуля) → ответ 4.
Вход: {"nums": [4, 5, 6, 7, 0, 1, 2], "target": 3}
Выход: -1
Объяснение: В том же массиве числа 3 нет → возвращаем -1.
Вход: {"nums": [1], "target": 0}
Выход: -1
Объяснение: Массив из одного элемента [1], target = 0: совпадения нет → -1.

Ограничения:

1 <= nums.length <= 5000 -10000 <= nums[i] <= 10000 Все nums[i] уникальны -10000 <= target <= 10000

Теги:

Часто на собесе Бинарный поиск Массивы

Комментарии (0)

Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!