aboutsummaryrefslogtreecommitdiff
path: root/queue_reconstruction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'queue_reconstruction.cpp')
-rw-r--r--queue_reconstruction.cpp20
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];
+ }
+};