2432. the Employee That Worked on the Longest Task

2432. The Employee That Worked on the Longest Task #

题目 #

  • 共有 n 位员工,每位员工都有一个从 0n - 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;
    }
}