aboutsummaryrefslogtreecommitdiff
path: root/other/skyline_problem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/skyline_problem.cpp')
-rw-r--r--other/skyline_problem.cpp28
1 files changed, 0 insertions, 28 deletions
diff --git a/other/skyline_problem.cpp b/other/skyline_problem.cpp
deleted file mode 100644
index b19c87a..0000000
--- a/other/skyline_problem.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "leetcode.h"
-
-class Solution {
-public:
- vvd getSkyline(vvd & buildings) {
- vvd ans;
- map<int, vector<pair<int, int>>> mvp;
- for (auto &b : buildings) {
- mvp[b[0]].push_back({b[2], 0});
- mvp[b[1]].push_back({b[2], 1});
- }
- multiset<int> m;
- for (auto &[pos, heights] : mvp) {
- for (auto &[height, type] : heights) {
- if (type == 0)
- m.insert(height);
- else
- m.erase(m.find(height));
- }
- int newHeight = m.empty() ? 0 : *m.begin();
- if (!ans.empty() && ans.back()[1] == newHeight)
- continue;
- else
- ans.push_back(vector<int>({pos, newHeight}));
- }
- return ans;
- }
-};