769. 最多能完成排序的块
有点解释不清楚的感觉
如果当前下标i(含)之前的最大值为i,则说明可以切一刀;否则前半部分有大于i的元素,后半部分有小于i的元素。
class Solution {
public int maxChunksToSorted(int[] arr) {
int max = 0;
int num = 0;
for(int i=0; i<arr.length; i++) {
max = Math.max(arr[i], max);
if(max == i) num++;
}
return num;
}
}
网友评论