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;
}
}