题意
- N个人, 每个人身高为h[i], 且有k[i]个人比其高; 请按照该规则将N个人排序
方法
- 先按照身高排序, 再按照k重排
代码
class Solution {
public:
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
sort(people.begin(), people.end(), [](const vector<int>& u, const vector<int>& v) {
return u[0] > v[0] || (u[0] == v[0] && u[1] < v[1]);
});
int N = people.size();
vector<vector<int>> ans;
for (int i = 0; i < N; i++) {
int pos = people[i][1];
ans.insert(ans.begin()+pos, people[i]);
}
return ans;
}
};