本文最后更新于608 天前,其中的信息可能已经过时,如有错误请发送邮件到tomding1065@gmail.com
1.本题还是类似于给孩子分糖的方法,对于两个方向的约束的时候先确定一个,本题就是现将身高按照降序排列,保证任意一个元素的前面的元素都大于该元素,然后在对排序后的数组进行插入位置的规则进行排序,本题同样也考验对于我对于数组的理解,下标,二维数组的操作等。
CPP
class Solution {
static bool cmp(const vector<int>& a, const vector<int>& b){
if(a[0] == b[0])return a[1] < b[1];
return a[0] > b[0];
}
public:
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
vector<vector<int>> queue;
sort(people.begin(), people.end(), cmp);
for(int i = 0; i < people.size(); i++){
int position = people[i][1];
queue.insert(queue.begin() + position, people[i]);
}
return queue;
}
};