Skip to content

Commit d590106

Browse files
committed
636. Exclusive Time of Functions
1 parent 2337257 commit d590106

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
class Solution {
2+
public int[] exclusiveTime(int n, List<String> logs) {
3+
int[] answer = new int[n];
4+
Deque<Integer> stack = new ArrayDeque<>();
5+
6+
int prevTime = 0;
7+
8+
for (String log : logs) {
9+
String[] parts = log.split(":");
10+
11+
int id = Integer.parseInt(parts[0]);
12+
String type = parts[1];
13+
int time = Integer.parseInt(parts[2]);
14+
15+
if (type.equals("start")) {
16+
if (!stack.isEmpty()) {
17+
answer[stack.peek()] += time - prevTime;
18+
}
19+
20+
stack.push(id);
21+
prevTime = time;
22+
23+
} else {
24+
answer[stack.pop()] += time - prevTime + 1;
25+
prevTime = time + 1;
26+
}
27+
}
28+
29+
return answer;
30+
}
31+
}

0 commit comments

Comments
 (0)