forked from arkingc/leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path33.cpp
24 lines (23 loc) · 766 Bytes
/
33.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public:
int search(vector<int>& nums, int target) {
if(nums.size() == 0)
return -1;
int begin = 0 , end = nums.size() - 1;
int mid;
while(begin <= end){
mid = (begin + end) / 2;
if(nums[mid] > nums[end]){//mid在左边
if(nums[mid] == target) return mid;
else if(nums[mid] < target || target <= nums[end]) begin = mid + 1;
else end = mid - 1;
}
else{//mid在右边
if(nums[mid] == target) return mid;
else if(nums[mid] < target && target <= nums[end]) begin = mid + 1;
else end = mid - 1;
}
}
return -1;
}
};