leetcode-贪心-406. 根据身高重建队列

 

class Solution {
public:
    static bool cmp(vector<int> &a, vector<int> &b){
        if(a[0] != b[0]) // 第一个元素不等,先按照第一个元素从大到小排序
            return a[0]>b[0];
        else
            return a[1]<b[1];  
            // 第一个元素相等,在第一个元素从大到小排序基础上,将第二个元素按照从小到大排列
    }
    vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
        sort(people.begin(), people.end(),cmp);
        // vector<vector<int>> res(people.size(),vector<int>(2));
        vector<vector<int>> res;
        for(int i = 0; i < people.size(); i++){
            res.insert(res.begin()+people[i][1],people[i]);
        }
        return res;
    }
};

 

posted @ 2021-08-09 17:03  三一一一317  阅读(23)  评论(0)    收藏  举报