leetcode--Search in Rotated Sorted Array II
Follow up for "Search in Rotated Sorted Array":
What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given target is in the array.
public class Solution {
public boolean search(int[] A, int target) {
boolean isIn = false;
int index = findMin(A);
if(index == 0)
isIn = (Arrays.binarySearch(A, 0, A.length, target) >= 0);
else
isIn = (Arrays.binarySearch(A, 0, index, target) >= 0)
|| (Arrays.binarySearch(A, index, A.length, target) >= 0);
return isIn;
}
public static int findMin(int[] A){
int i = A.length - 1;
for(; i > 0; --i){
if(A[i] < A[i - 1])
break;
}
return i;
}
}

浙公网安备 33010602011771号