Queue Reconstruction by Height Posted on 2018-10-07 Descriptionhttps://leetcode.com/problems/queue-reconstruction-by-height/description/ Solution12345678910111213141516171819202122class Solution {private: bool static compare(const pair<int, int>& left, const pair<int, int>& right) { return left.second < right.second; }public: vector<pair<int, int>> reconstructQueue(vector<pair<int, int>>& people) { sort(people.begin(), people.end(), compare); list<pair<int, int>> ret; for (auto iter = people.begin(); iter != people.end(); ++iter) { auto iterRet = ret.begin(); int bigger = iter->second; while (iterRet != ret.end()) { if (iter->first <= iterRet->first) --bigger; if (bigger < 0){ret.insert(iterRet, *iter); break;} ++iterRet; } if (iterRet == ret.end()) ret.insert(iterRet, *iter); } return vector<pair<int, int>>(ret.begin(), ret.end()); }};