LeetCode - Find Minimum in Rotated Sorted Array II
二分查找
1 class Solution { 2 public: 3 int findMin(vector<int> &num) { 4 int n = num.size(); 5 if (n == 1) 6 return num[0]; 7 int first = 0, last = n-1; 8 while (first < last && num[first] >= num[last]) 9 { 10 int mid = (first+last)/2; 11 if (num[mid] > num[last]) 12 first = mid + 1; 13 else if (num[mid] < num[first]) 14 last = mid; 15 else 16 first++; 17 } 18 return num[first]; 19 } 20 };