We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 210a03e commit c3e9fd5Copy full SHA for c3e9fd5
C++/describe-the-painting.cpp
@@ -0,0 +1,26 @@
1
+// Time: O(nlogn)
2
+// Space: O(n)
3
+
4
+class Solution {
5
+public:
6
+ vector<vector<long long>> splitPainting(vector<vector<int>>& segments) {
7
+ unordered_map<int, int64_t> events;
8
+ for (const auto& s : segments) {
9
+ events[s[0]] += s[2];
10
+ events[s[1]] -= s[2];
11
+ }
12
+ vector<pair<int, int64_t>> points(cbegin(events), cend(events));
13
+ sort(begin(points), end(points));
14
15
+ vector<vector<long long>> result;
16
+ int64_t overlap = 0, prev = 0;
17
+ for (const auto& [curr, cnt] : points) {
18
+ if (overlap) {
19
+ result.push_back({prev, curr, overlap});
20
21
+ overlap += cnt;
22
+ prev = curr;
23
24
+ return result;
25
26
+};
0 commit comments