在动物牛国度的一个神秘岛屿上,藏有一座宝库。为了保护宝库的秘密,守护者将宝库的密码以旋转数组的形式保存在岛上。现在,请你编写一个函数,来帮助动物牛们搜索旋转数组中的某个元素。 给定一个排序后的数组 arr,包含 n 个整数。但是这个数组已经被旋转过很多次了,旋转次数不详。请你编写一个函数 int search(vector& arr, int target),找出数组中的某个元素,并返回其索引值。如果数组中有多个相同的元素,返回索引值最小的一个。如果没有找到目标元素,返回 -1。
示例1

输入

[15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14],18

输出

-1
示例2

输入

[15, 16, 19, 0, 3, 5, 5, 7, 10, 14],5

输出

5

备注:
arr 长度范围在 [1, 100000] 之间
加载中...