https://leetcode.com/problems/search-in-rotated-sorted-array-ii/
使用二分查找的方法,相比33题思路相同,但是有重复数字的判断
class Solution {
public boolean search(int[] nums, int target) {
int start = 0;
int end = nums.length - 1;
while(start <= end){
int mid = start + (end - start)/2;
if(nums[mid] == target) return true;
if(nums[mid] == nums[start] && nums[mid] == nums[end]){
start ++;
end --;
}else if(nums[mid] >= nums[start]){
if(target >= nums[start] && target < nums[mid]){
end = mid - 1;
}else{
start = mid + 1;
}
}else{
if(target > nums[mid] && target <= nums[end]){
start = mid + 1;
}else{
end = mid - 1;
}
}
}
return false;
}
}