题意理解
判断一个数组是否是排序或是轮转。
问题分析
分析规律,方向是前后位置大小,第一个和最后一个比较大小
其他
https://leetcode-cn.com/problems/check-if-array-is-sorted-and-rotated/
链接
class Solution {
public:
bool check(vector<int>& nums) {
if (nums.size() == 0) return true;
bool isCount = nums[nums.size() - 1] <= nums[0]; //记录一次前后颠倒
for (int i = 0; i < nums.size() - 1; i++) {
if (nums[i] > nums[i+1]) { //再次出现前后颠倒
if (isCount) { //如果两次
isCount = false; //抵消一次
}
else { //如果没有出现过
return false; //失败
}
}
}
return true; //否则成功
}
};