共有 n
位员工,每位员工都有一个从 0
到 n - 1
的唯一 id 。
给你一个二维整数数组 logs
,其中 logs[i] = [idi, leaveTimei]
:
idi
是处理第i
个任务的员工的 id ,且leaveTimei
是员工完成第i
个任务的时刻。所有leaveTimei
的值都是 唯一 的。
注意,第 i
个任务在第 (i - 1)
个任务结束后立即开始,且第 0
个任务从时刻 0
开始。
返回处理用时最长的那个任务的员工的 id 。如果存在两个或多个员工同时满足,则返回几人中 最小 的 id 。
2432. 处理用时最长的那个任务的员工 – 力扣(Leetcode)

OpenCV步步精深-可心科创工作室

OpenCV步步精深-可心科创工作室
思路:
重新构建字典,按题意跳出结果就行了。
python3实现:
class Solution:
def hardestWorker(self, n: int, logs: List[List[int]]) -> int:
# 重新构建字典
result = {}
start = 0
for idx in range(len(logs)):
elem = logs[idx]
yuangong = elem[0]
end = elem[1]
if yuangong in result:
result[yuangong] = max(end-start,result[yuangong])
else:
result[yuangong]=end-start
start = end
print(result)
result_keys = list(result.keys())
result_values = list(result.values())
max_value = max(result_values)
if result_values.count(max_value) > 1:
tmp = []
i = 0
while i <= len(result_values) - 1:
if result_values[i] == max_value:
tmp.append(i)
i += 1
tmp2 = []
for each in tmp:
tmp2.append(result_keys[each])
return min(tmp2)
else:
key_id = result_values.index(max_value)
return result_keys[key_id]

OpenCV步步精深-可心科创工作室