此题用C++解决的方案,主要需要掌握C++lamda表达式,以及vector容器中insert函数的用法。
class Solution {
public:
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(), people.end(), [](const vector<int>& a, const vector<int>& b){
if (a[0] > b[0]) return true;
if (a[0] == b[0] && a[1] < b[1]) return true;
return false;
});
vector<vector<int>> res;
for (auto element : people){
res.insert(res.begin() + element[1], element);
}
return res;
}
};