开始分析nums序列中至多只能有一个前面元素大于后面元素,否则就不是通过排序后的序列轮转得到。
class Solution {
public:
bool check(vector<int>& nums) {
int greater_cnt = 0;
for(int i = 0;i < nums.size();i++)
{
if(nums[i] > nums[(i+1)%nums.size()] )
{
if(++greater_cnt > 1)
return false;
}
}
return true;
}
};
这里解法比较简单,分析旋转数组特点,至多只能有一个元素大于后面的元素,因此可以