//binary search
//注意 应该用 start 和 mid 的大小做分界 如果 相等 start++ 就可以;
class Solution {
public boolean search(int[] nums, int target) {
if(nums == null || nums.length == 0) return false;
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]) {
if(nums[start] <= target && target < nums[mid]) {
end = mid - 1;
} else {
start = mid + 1;
}
} else if(nums[mid] < nums[start]) {
if(nums[mid] < target && target < nums[start]) {
start = mid + 1;
} else {
end = mid - 1;
}
} else {
start++;
}
}
return false;
}
}
Search in Rotated Sorted Array II
最新推荐文章于 2022-02-06 18:22:23 发布