https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/
思路:二分,和33区分在于重复,针对无序部分进行++,--操作即可
bool search(vector<int>& nums, int target) {
if (nums.size() <= 0) {
return false;
}
int left = 0, right = nums.size() - 1;
while(left <= right) {
int mid = (left + right) / 2;
if (nums[mid] == target) {
return true;
}
if (nums[mid] >= nums[left]) {
if (nums[left] <= target && nums[mid] > target) {
right = mid - 1;
} else {
left += 1;
}
} else {
if (nums[mid] < target && nums[right] >= target) {
left = mid + 1;
} else {
right = right - 1;
}
}
}
return false;
}