nikunjsoni

636

Mar 26th, 2021
60
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. class Solution {
  4. public:
  5.     vector<int> exclusiveTime(int n, vector<string>& logs) {
  6.         stack<int> s;
  7.         vector<int> ans(n, 0);
  8.        
  9.         for(int i=0; i<logs.size(); i++){
  10.             int id, time, lastTime;
  11.             string type;
  12.             string str = logs[i];
  13.            
  14.             size_t pos = str.find(':');
  15.             id = stoi(str.substr(0, pos));
  16.             str.erase(0, pos+1);
  17.            
  18.             pos = str.find(':');
  19.             type = str.substr(0, pos);
  20.             str.erase(0, pos+1);
  21.             time = stoi(str);
  22.            
  23.             if(type == "start"){
  24.                 if(!s.empty()){
  25.                     ans[s.top()] += (time - lastTime - 1);
  26.                 }
  27.                 s.push(id);
  28.             }
  29.             else{
  30.                 ans[s.top()] += (time - lastTime + 1);
  31.                 s.pop();
  32.             }
  33.             lastTime = time;
  34.         }
  35.         return ans;
  36.     }
  37. };
RAW Paste Data