问题遇到的现象和发生背景
https://leetcode-cn.com/problems/search-in-rotated-sorted-array/
问题相关代码,请勿粘贴截图
class Solution {
public:
int search(vector<int>& nums, int target) {
if(nums.size() == 1){
if(nums[0]!=target) return -1;
else return 0;
}
int i;
for(i = 0;i<nums.size();i++){
if(nums[i]>nums[i+1])
break;
}
int l = nums[i]<target?-1:i;
int r = nums[i]<target?i+1:nums.size();
int mid;
while(l+1!=r){
mid = (l+r)/2;
if(nums[mid]>target)
r = mid;
else if(nums[mid]<target)
l = mid;
else
return mid;
}
return -1;
}
};