classSolution{public:intmaxBoxesInWarehouse(vector<int>& boxes, vector<int>& warehouse){vector<int>h(warehouse.size());int MIN = warehouse[0], n = warehouse.size(), m = boxes.size();for(int i =0; i < n;++i){MIN =min(MIN, warehouse[i]);h[i]= MIN;//有效的高度}MIN = warehouse[n-1];for(int i = n-1; i >=0;--i){MIN =min(MIN, warehouse[i]);warehouse[i]= MIN;//有效的高度}for(int i =0; i < n;++i)warehouse[i]=max(warehouse[i], h[i]);//取較大的sort(warehouse.begin(), warehouse.end());sort(boxes.begin(), boxes.end());int ans =0, i =0, j =0;while(i<m && j<n){if(boxes[i]<= warehouse[j]){// 能放進(jìn)去ans++;i++,j++;}elsej++;// 放不進(jìn)去,換下一個(gè)可能的更高的倉(cāng)庫(kù)}return ans;}};