#include<iostream>
#include<vector>
using namespace std;
class Solution{
public:
int search(vector<int> &nums,int target){
int left = 0;
int right = nums.size()-1;
// <=
while(left <= right){
int m = (left + right)/2;
if(nums[m] == target){
return m;
}
else if(nums[m] < nums[right]){
if(target >nums[m] && target < nums[right]){
left = m + 1;
}
else{
right = m -1;
}
}
else{
if(target > nums[left] && target <nums[m]){
right = m - 1;
}
else{
left = m + 1;
}
}
}
return -1;
}
};
int main(){
Solution so;
vector<int> nums= {5,6,7,1,2,3,4};
int target = 2;
cout <<"the res is: " << so.search(nums,target) << endl;
}
leetcode 33 Search in Rotated Sorted Array
最新推荐文章于 2021-01-08 16:05:04 发布