Skip to content

Instantly share code, notes, and snippets.

@cangoal
Last active August 29, 2015 14:22
Show Gist options
  • Save cangoal/bcdbd69556c71da0d8b2 to your computer and use it in GitHub Desktop.
Save cangoal/bcdbd69556c71da0d8b2 to your computer and use it in GitHub Desktop.
LeetCode - Search in Rotated Sorted Array
//
public int search(int[] nums, int target) {
if(nums == null || nums.length==0) return -1;
int left = 0, right = nums.length-1;
while(left <= right){
int mid = (left + right) / 2;
if(nums[mid] == target){
return mid;
}else if(nums[mid] >= nums[left]){
if(target >= nums[left] && nums[mid] > target){
right = mid - 1;
}else{
left = mid + 1;
}
}else{
if(target > nums[mid] && target < nums[left]){
left = mid + 1;
}else{
right = mid - 1;
}
}
}
return -1;
}
//
public int search(int[] A, int target) {
if(A==null || A.length==0) return -1;
int left =0, right = A.length-1;
while(left <= right){
int mid = (left+right)/2;
if(A[mid] == target) return mid;
if(A[mid]>=A[left]){
if(A[mid] > target && target>=A[left]) right = mid -1;
else left = mid + 1;
}else{
if(A[mid] < target && target<= A[right]) left = mid +1;
else right = mid -1;
}
}
return -1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment