整数数组nums按升序排列,数组中的值互不相同。
在传递给函数之前,nums在预先未知的某个下标k(0 <= k < nums.length)上进行了旋转,使数组变为[nums[k], nums[k+1], ……, ]](下标从0开始计数)。例如, [0,1,2,4,5,6,7] 在下标 3 处经旋转后可能变为 [4,5,6,7,0,1,2] 。
输入:nums = [4,5,6,7,0,1,2], target = 0
输出:4
思路:二分查找
class Solution {
public:
int search(vector<int>& nums, int target)
{
int res = -1;
for (int i = 0; i < nums.size(); i++)
{
if (nums[i] == target)
res = i;
}
return res;
}
};