首页 > 代码库 > 081. Search in Rotated Sorted Array II

081. Search in Rotated Sorted Array II

 1 class Solution { 2 public: 3     bool search(vector<int>& nums, int target) { 4         if (nums.size() == 0) return false; 5         else { 6             int first = 0, last = nums.size() - 1; 7             while (first <= last) { 8                 int mid = first + (last - first) / 2; 9                 if (nums[mid] == target) return true;10                 else {11                     if (nums[first] < nums[mid]) {12                         if (nums[first] <= target && target < nums[mid]) last = mid - 1;13                         else first = mid + 1;14                     }15                     else if (nums[first] > nums[mid]) {16                         if (nums[mid] < target && target <= nums[last]) first = mid + 1;17                         else last = mid - 1;18                     }19                     else {20                         ++first;21                     }22                 }23             }24             return false;25         }26     }27 };

 

081. Search in Rotated Sorted Array II