3
int search(vector<int> &nums, int target) {4
int n = nums.size() - 1;5
if (nums[0] == target) return 0;6
if (nums.size() == 1) return -1;7
// find the index of the minimum element ie pivot12
int mid = (low + high) / 2;14
if (nums[mid] < nums[mid + 1] && nums[mid] < nums[n]) {23
if (nums[mid] < nums[0] && nums[mid] < nums[mid - 1]) {29
} else if (nums[mid] < nums[mid + 1] && nums[mid] < nums[mid - 1]) {32
} else if (nums[mid] >= nums[0] && nums[mid] <= nums[n])34
else if (nums[mid] >= nums[0])36
else if (nums[mid] < nums[0])39
cout << pivot << endl;40
if (target < nums[0]) {43
while (low1 <= high1) {44
int mid1 = (low1 + high1) / 2;45
if (nums[mid1] == target)47
else if (nums[mid1] > target)49
else if (nums[mid1] < target)53
if (target > nums[0]) {55
int high2 = pivot - 1;60
while (low2 <= high2) {61
int mid2 = (low2 + high2) / 2;62
if (nums[mid2] == target)64
else if (nums[mid2] > target)66
else if (nums[mid2] < target)