package LeetCode.FiveHundredOneToOneThousand;
public class SevenHundredAndSeventhFive {
public boolean isIdealPermutation(int[] a) {
// 只要是局部倒置,就说明是全局倒置,所以我们可以找出非局部倒置
// 我们可以计算出每个区间的最小值,只要检查a[i] > a[i + 2:](Python语法,表示从i+2到数组末尾)、
int min = Integer.MAX_VALUE;
int len = a.length - 1;
// 从右往左进行遍历,找到最小值,并判断是否为非局部倒置
for (int i = len; i >=2; i--){
min = Math.min(a[i],min);
if (a[i - 2] > min) return false;
}
return true;
}
}
775. 全局倒置与局部倒置(逐句解释代码)
最新推荐文章于 2022-09-03 08:22:22 发布