题目
题解
看了评论区答案。
局部倒置一定是全局倒置;局部倒置是连续递减;
所以只需判断是否有不连续的全局倒置即可。
即,找是否存在 nums[i] 小于 i-1 前的最大值。
class Solution {
public boolean isIdealPermutation(int[] nums) {
if (nums.length <= 2) return true;
int max = nums[0];
for (int i = 2; i < nums.length; i++) {
max = Math.max(max, nums[i - 2]);
if (nums[i] < max) return false;
}
return true;
}
}