由于原来是一个升序数组,并且涉及到了旋转问题,所以用循环数组的思想,设置一个循环变量,然后遍历,一直找到非升序的那个元素返回即可。
class Solution {
public:
int findMin(vector<int>& nums) {
int i = 0, n = nums.size();
while(nums[i % n] < nums[(i + 1) % n])
{
++i;
}
return nums[(i + 1) % n];
}
};