2432. The Employee That Worked on the Longest Task #
题目 #
- 共有
n
位员工,每位员工都有一个从0
到n - 1
的唯一 id 。 - 给你一个二维整数数组
logs
,其中logs[i] = [idi, leaveTimei]
:idi
是处理第i
个任务的员工的 id ,且leaveTimei
是员工完成第i
个任务的时刻。所有leaveTimei
的值都是 唯一 的。
- 注意,第
i
个任务在第(i - 1)
个任务结束后立即开始,且第0
个任务从时刻0
开始。 - 返回处理用时最长的那个任务的员工的 id 。如果存在两个或多个员工同时满足,则返回几人中 最小 的 id 。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int hardestWorker(int n, int[][] logs) {
int maxTime = logs[0][1], idx = logs[0][0];
for (int i = 1; i < logs.length; i++) {
int elpased = logs[i][1] - logs[i-1][1];
if (elpased > maxTime) {
maxTime = elpased;
idx = logs[i][0];
}
else if (elpased == maxTime) idx = Math.min(idx, logs[i][0]);
}
return idx;
}
}