406. 根据身高重建队列 c++语法题

class Solution {
public:
    vector> reconstructQueue(vector>& people) {
        // 排序
        sort(people.begin(), people.end(),
                [](const vector& lhs, const vector& rhs)
                 {return lhs[0] == rhs[0] ? lhs[1] <= rhs[1] : lhs[0] > rhs[0];});
        int len = people.size();
        list> tmp;
        // 循环插入
        for(int i = 0; i < len; ++i){
            auto pos = tmp.begin();
            advance(pos, people[i][1]);
            tmp.insert(pos, people[i]);
        }
        // 重建vector返回
        return vector>(tmp.begin(), tmp.end());
    }
};

你可能感兴趣的:(406. 根据身高重建队列 c++语法题)