原题链接:768. 最多能完成排序的块 II
class Solution {
public:
int maxChunksToSorted(vector<int>& arr) {
unordered_map<int,int> hash;
vector<int> nums(arr);
sort(nums.begin(), nums.end());
int res = 0;
for(int i = 0;i < arr.size();i++) {
hash[arr[i]]++;
if(hash[arr[i]] == 0) {
hash.erase(arr[i]);
}
hash[nums[i]]--;
if(hash[nums[i]] == 0) {
hash.erase(nums[i]);
}
if(hash.size() == 0) {
res++;
}
}
return res;
}
};