开始分析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;
    }
};

这里解法比较简单,分析旋转数组特点,至多只能有一个元素大于后面的元素,因此可以