| 1234567891011121314151617181920212223 | 
							- func exclusiveTime(n int, logs []string) []int {
 
- 	res := make([]int, n)
 
- 	if len(logs) == 0 {
 
- 		return res
 
- 	}
 
- 	pre := -1 // All func start from 0.
 
- 	st := []int{0}
 
- 	for i := range logs {
 
- 		log := strings.Split(logs[i], ":")
 
- 		id, _ := strconv.Atoi(log[0])
 
- 		cur, _ := strconv.Atoi(log[2])
 
- 		res[id]++
 
- 		if log[1] == "start" {
 
- 			res[st[len(st)-1]] += cur - pre - 1
 
- 			st = append(st, id)
 
- 		} else {
 
- 			res[id] += cur - pre - 1
 
- 			st = st[:len(st)-1]
 
- 		}
 
- 		pre = cur
 
- 	}
 
- 	return res
 
- }
 
 
  |