Search in Rotated Sorted Array
class Solution {
public int search(int[] nums, int target) {
if(nums.length == 0) return -1;
int l = 0;
int r = nums.length - 1;
while((l+1) < r){
int mid = (l+ r) / 2;
if(nums[mid] > nums[l]) {
if(nums[mid] > target && nums[l] <= target){
r = mid;
} else {
l = mid;
}
} else {
if(nums[mid] < target && nums[r] >= target){
l = mid;
} else {
r = mid;
}
}
}
if(nums[l] == target) return l;
if(nums[r] == target) return r;
return -1;
}
}

最后更新于
这有帮助吗?