LeetCode 769 最多能完成排序的块[贪心] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 769 最多能完成排序的块[贪心] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
一道想通了就不那么麻烦的题目,关键在于怎么去思考和读懂题目意思,题目意思是说将当前数组分块,分块后拼起来排序后结果和原数组排序后结果一致,这就隐含要求每个分块区间的数要和其原下标对应,即每个区间中的最大值要和该区间最大下标一致,否则会出现比当前区间最大数小的数排在后面的区间了,这样就不符合题意了,代码如下:
class Solution
public:
int maxChunksToSorted(vector<int>& arr)
int res = 0, curMax = 0;
for(int i = 0; i < arr.size(); i ++)
curMax = max(curMax, arr[i]);
if(curMax == i) res ++;
return res;
;
以上是关于LeetCode 769 最多能完成排序的块[贪心] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 1790. 仅执行一次字符串交换能否使两个字符串相等 / 817. 链表组件 / 769. 最多能完成排序的块