-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathleetcode33.cpp
More file actions
41 lines (29 loc) · 753 Bytes
/
leetcode33.cpp
File metadata and controls
41 lines (29 loc) · 753 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Solution {
public:
int search(vector<int>& nums, int tar) {
int n=nums.size();
int st=0;
int end=n-1;
while(st<=end){
int mid=st+(end-st)/2;
if(nums[mid]==tar){
return mid;
}
if(nums[st]<=nums[mid]){
if(nums[st]<=tar&&tar<=nums[mid]){//left side is sorted;
end=mid-1;
}
else{
st=mid+1;
}}
else{
if(nums[mid]<=tar&&nums[end]>=tar){
st=mid+1;
}
else{end=mid-1;
}
}
}
return -1;
}
};