Exclusive Time of Functions LeetCode solution in C++

1
class Solution {
2
public:
3
vector<int> exclusiveTime(int n, vector<string> &logs) {
4
vector<int> ret(n, 0);
5
stack<pair<int, int>> st;
6
for (auto &l : logs) {
7
auto p1 = l.find(':', 0), p2 = l.find(':', p1 + 1);
8
auto id = stoi(l.substr(0, p1));
9
auto time = stoi(l.substr(p2 + 1));
10
if (l[p1 + 1] == 's') {
11
st.push({id, time});
12
} else {
13
auto diff = time - st.top().second + 1;
14
ret[st.top().first] += diff;
15
st.pop();
16
if (!st.empty()) ret[st.top().first] -= diff;
17
}
18
}
19
return ret;
20
}
21
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0