【每日一题Day197】LC2432处理用时最长的那个任务的员工 | 枚举

简介: 【每日一题Day197】LC2432处理用时最长的那个任务的员工 | 枚举

处理用时最长的那个任务的员工【LC2432】

共有 n 位员工,每位员工都有一个从 0n - 1 的唯一 id 。

给你一个二维整数数组 logs ,其中 logs[i] = [idi, leaveTimei]

  • idi 是处理第 i 个任务的员工的 id ,且
  • leaveTimei 是员工完成第 i 个任务的时刻。所有 leaveTimei 的值都是 唯一 的。

注意,第 i 个任务在第 (i - 1) 个任务结束后立即开始,且第 0 个任务从时刻 0 开始。

返回处理用时最长的那个任务的员工的 id 。如果存在两个或多个员工同时满足,则返回几人中 最小 的 id 。

  • 思路
    求出完成每个任务的用时时长,返回处理用时最长的那个任务的员工的 id 。如果存在两个或多个员工同时满足,则返回几人中 最小 的 id 。
  • 实现
class Solution {
    public int hardestWorker(int n, int[][] logs) {
        int mx = logs[0][1];
        int res = logs[0][0];
        for (int i = 1; i < logs.length; i++){
            if (logs[i][1] - logs[i - 1][1] > mx){
                res = logs[i][0];
                mx = logs[i][1] - logs[i - 1][1];
            }else if (logs[i][1] - logs[i - 1][1] == mx){
                res = Math.min(res, logs[i][0]);
            }
        }
        return res;
    }
}

image.png

class Solution {
    public int hardestWorker(int n, int[][] logs) {
        int ans = logs[0][0], maxT = logs[0][1];
        for (int i = 1; i < logs.length; i++) {
            int t = logs[i][1] - logs[i - 1][1];
            if (t > maxT || t == maxT && logs[i][0] < ans) {
                ans = logs[i][0];
                maxT = t;
            }
        }
        return ans;
    }
}
作者:灵茶山艾府
链接:https://leetcode.cn/problems/the-employee-that-worked-on-the-longest-task/solutions/1878942/mo-ni-by-endlesscheng-ka78/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
目录
相关文章
|
7月前
|
算法 测试技术
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
枚举(蓝桥练习)(反倍数、特别数的和、找到最多的数、小蓝的漆房、小蓝和小桥的挑战)
|
7月前
【每日一题Day199】LC1010总持续时间可被 60 整除的歌曲 | 哈希表
【每日一题Day199】LC1010总持续时间可被 60 整除的歌曲 | 哈希表
48 1
|
7月前
【每日一题Day201】LC2436有效时间的数目 | 乘法原理 枚举
【每日一题Day201】LC2436有效时间的数目 | 乘法原理 枚举
53 2
|
7月前
【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举
【每日一题Day159】LC1638统计只差一个字符的子串数目 | 枚举
43 0
|
7月前
【每日一题Day356】LC2678老人的数目 | 字符串
【每日一题Day356】LC2678老人的数目 | 字符串
53 0
|
7月前
【每日一题Day191】LC2423删除字符使频率相同 | 枚举 分类讨论
【每日一题Day191】LC2423删除字符使频率相同 | 枚举 分类讨论
56 0
|
7月前
【每日一题Day357】LC1155掷骰子等于目标和的方法数 | dp
【每日一题Day357】LC1155掷骰子等于目标和的方法数 | dp
63 0
|
7月前
【每日一题Day118】LC1124表现良好的最长时间段 | 前缀和+单调栈/哈希表
【每日一题Day118】LC1124表现良好的最长时间段 | 前缀和+单调栈/哈希表
58 0
|
7月前
【每日一题Day278】LC2500删除每行中的最大值 | 排序+模拟
【每日一题Day278】LC2500删除每行中的最大值 | 排序+模拟
51 0
|
6月前
|
C语言
C语言-----100之内9的数量和带有9的数字的数量
C语言-----100之内9的数量和带有9的数字的数量