class Solution {
public int search(int[] nums, int target) {
if (nums == null || nums.length == 0) return -1;
int lo = 0, hi = nums.length - 1;
while (lo <= hi) { // take care of this =
int mid = lo + (hi - lo) / 2;
if (nums[mid] == target) {
return mid;
}
if (nums[lo] <= nums[mid]) { // take care of this =
if (nums[mid] < target || nums[lo] > target) {
lo = mid + 1;
} else {
hi = mid - 1;
}
} else {
if (target < nums[mid] || target > nums[hi]) {
hi = mid - 1;
} else {
lo = mid + 1;
}
}
}
return -1;
}
}