Professional Documents
Culture Documents
My300 leetcodePDF-BinarySearch
My300 leetcodePDF-BinarySearch
public static int findKth(int A[], int B[], int k, int aStart, int aEnd, int
bStart, int bEnd) {
if(nums[mid] == target){
return mid;
}
int left=0;
int right=nums.length-1;
if(nums[mid] == target){
return mid;
}
int left=0;
int right=nums.length-1;
}
30_31 Search in Rotated Sorted Array with/without Duplicates
public int search(int[] nums, int target) {
return recbinSearch(nums, 0, nums.length-1, target);
}
public int recbinSearch(int[] nums, int start, int end, int target ) {
// repeated nums
else if (nums[start] == nums[mid]){ //left repeated
// left repeated right diff
if(nums[mid] != nums[end]) {
// search right
return recbinSearch(nums, mid+1, end, target);
}
else {
// search both sides
int result = recbinSearch(nums, start, mid-1, target);
if(result == -1)
return recbinSearch(nums, mid+1, end, target);
else
return result;
}
}
return -1;
}