<awangdev>33. Search in Rotated Sorted Array_1.java
public int search(int[] nums, int target) {
        if (nums == null || nums.length == 0) return -1;
        int start = 0, end = nums.length - 1;
        while (start + 1 < end) {
            int mid = start + (end - start) / 2;
            if (nums[mid] == target) return mid;
            if (nums[start] < nums[mid]) { 
                if (nums[start] <= target && target <= nums[mid]) end = mid;
                else start = mid;
            } else { 
                if (nums[mid] <= target && target <= nums[end]) start = mid;
                else end = mid;
            }
        }
        if (nums[start] == target) return start;
        if (nums[end] == target) return end;
        
        return -1;
    }
public int sample_funcname ( int [ ] var_0 , int var_1 ) {
  if ( var_0 == null || var_0 . length == 0 ) return - 1 ;
  int var_6 = 0 , var_7 = var_0 . length - 1 ;
  while ( var_6 + 1 < var_7 ) {
    int var_9 = var_6 + ( var_7 - var_6 ) / 2 ;
    if ( var_0 [ var_9 ] == var_1 ) return var_9 ;
    if ( var_0 [ var_6 ] < var_0 [ var_9 ] ) {
      if ( var_0 [ var_6 ] <= var_1 && var_1 <= var_0 [ var_9 ] ) var_7 = var_9 ;
      else var_6 = var_9 ;
    }
    else {
      if ( var_0 [ var_9 ] <= var_1 && var_1 <= var_0 [ var_7 ] ) var_6 = var_9 ;
      else var_7 = var_9 ;
    }
  }
  if ( var_0 [ var_6 ] == var_1 ) return var_6 ;
  if ( var_0 [ var_7 ] == var_1 ) return var_7 ;
  return - 1 ;
}
