先身高从大到小,前面的人数从小到大排序
按照排序,在相同“前面人数”的元素前insert,后insert的身高小于之前insert的身高
class Solution {
public:
vector<pair<int, int>> reconstructQueue(vector<pair<int, int>>& people) {
sort(people.begin(), people.end(), [](const pair<int,int>& a, const pair<int,int>& b){
return a.first>b.first || (a.first == b.first && a.second < b.second);
});
vector<pair<int,int>> res;
for(auto p:people){
res.insert(res.begin()+p.second,p);
}
return res;
}
};