Exclusive Time of Functions LeetCode solution in JavaScript

1
var exclusiveTime = function (n, logs) {
2
const stack = [];
3
let preTimeStamp = 0;
4

5
return logs.reduce((times, log) => {
6
const [id, status, timeStamp] = log.split(":");
7
const time = +timeStamp - preTimeStamp;
8
const { length } = stack;
9

10
if (length) {
11
const lastId = stack[length - 1];
12
times[lastId] += time;
13
}
14
preTimeStamp = +timeStamp;
15

16
if (status === "start") stack.push(id);
17
else {
18
const lastId = stack.pop();
19
times[lastId] += 1;
20
preTimeStamp += 1;
21
}
22
return times;
23
}, Array(n).fill(0));
24
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0