Max Chunks To Make Sorted II LeetCode solution in C++
1class Solution {2public:3int maxChunksToSorted(vector<int> &arr) {4vector<int> right(arr.size() + 1);5right[arr.size()] = INT_MAX;67for (int i = arr.size() - 1; i >= 0; i--) {8right[i] = min(right[i + 1], arr[i]);9}10int left_max = INT_MIN;11int count_chunks = 0;12for (int i = 0; i < arr.size(); i++) {13left_max = max(left_max, arr[i]);14if (left_max <= right[i + 1]) count_chunks++;15}16return count_chunks;17}18};