diff options
Diffstat (limited to 'queue_reconstruction.cpp')
-rw-r--r-- | queue_reconstruction.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/queue_reconstruction.cpp b/queue_reconstruction.cpp new file mode 100644 index 0000000..17ea0ea --- /dev/null +++ b/queue_reconstruction.cpp @@ -0,0 +1,20 @@ +#include "leetcode.h" + +class Solution { +public: + vector<vector<int>> reconstructQueue(vector<vector<int>> &people) { + sort(people.begin(), people.end(), cmp); + vector<vector<int>> ans; + for (int i = 0; i < people.size(); i++) + ans.insert(ans.begin() + people[i][1], people[i]); + return ans; + } + +private: + static bool cmp(vector<int> &p1, vector<int> &p2) { + if (p1[0] != p2[0]) + return p1[0] > p2[0]; + else + return p1[1] < p2[1]; + } +}; |