Target: ?
SYSTEM READY
while (low <= high) {
  let mid = Math.floor((low + high) / 2);
  if (arr[mid] === target) return mid;
  // Check if Left is sorted
  if (arr[low] <= arr[mid]) {
    if (target >= arr[low] && target < arr[mid]) high = mid - 1;
    else low = mid + 1;
  } else { // Right is sorted
    if (target > arr[mid] && target <= arr[high]) low = mid + 1;
    else high = mid - 1;
  }
}