算法题---升序数组,对旋转后的数组求最小值
思路
二分查找变种
// 旋转数组的最小数 int getMinNum(vector<int> &nums){ int left = 0; int right = nums.size() -1; while(left <= right){ int mid = left + (right - left) / 2; if(nums[mid] > nums[right]){ left = mid + 1; } else if(nums[mid] < nums[right]){ right = mid; } else if(nums[mid] == nums[right]){ right--; } } return nums[left]; }