public class Solution {
public int search(int[] A, int target) {
// Start typing your Java solution below
// DO NOT write main() function
int len = A.length;
int low = 0;
int high = len-1;
int mid;
while(low<=high){
mid = (low+high)/2;
if(A[mid]==target)return mid;
if(A[low]<=A[mid]){
if(A[low]<=target&&target<A[mid])
high = mid - 1;
else
low = mid + 1;
}
else{
if(A[mid]<target&&target<=A[high])
low = mid+1;
else high = mid-1;
}
}
return -1;
}
}
不需要把数组弄成有序,根据这个结构筛选。
Search in Rotated Sorted Array
最新推荐文章于 2024-05-03 20:14:24 发布