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