2432. 处理用时最长的那个任务的员工

发布时间 2023-05-05 15:09:48作者: 猥琐丑八怪

 分析:

题目有点绕,但是大概意思就是给出的数组是多个任务

logs[i][0]是员工编号,logs[i][1]是处理完当前i任务结束的时间

而i任务需要的时间就是logs[i][1]-logs[i-1][1]

求得最长的任务时间,如果有多个,就取员工编号最小的那个

建立一个maxes量存最大时间,一个maxs存员工编号

遍历数组求值

代码:

 1 class Solution(object):
 2     def hardestWorker(self, n, logs):
 3         """
 4         :type n: int
 5         :type logs: List[List[int]]
 6         :rtype: int
 7         """
 8         maxes=logs[0][1]
 9         maxs=logs[0][0]
10         for i in range(1,len(logs)):
11             if logs[i][1]-logs[i-1][1]>maxes:
12                 maxes=logs[i][1]-logs[i-1][1]
13                 maxs=logs[i][0]
14             elif logs[i][1]-logs[i-1][1]==maxes:
15                 if logs[i][0]<maxs:
16                     maxs=logs[i][0]
17                 else:
18                     pass
19             else:
20                 pass
21         return maxs