target > nums[mid]
, we know it must be in the right half
If target < nums[mid]
, we know it must be in the left half
nums[left] <= nums[mid]
, we can determine if the left half is sorted
If left half is sorted, we can make a decision about searching in that half
If left half is not sorted, then the right half must be sorted