class Solution {
public static int search(int[] nums, int target) {
int l = 0, r = nums.length - 1;
while (l < r) {
int mid = l + r + 1 >> 1;
if (nums[mid] >= nums[0]) {
l = mid;
}
else {
r = mid - 1;
}
}
if (nums[0] <= target) l = 0;
else {
l = r + 1;
r = nums.length - 1;
}
while (l < r) {
int mid = l + r >> 1;
if (nums[mid] >= target) r = mid;
else l = mid + 1;
}
if (nums[r] == target) return r;
else return -1;
}
}
搜索旋转排序数组
最新推荐文章于 2024-07-31 23:11:28 发布