​力扣解法汇总2432. 处理用时最长的那个任务的员工

news/2024/5/20 23:51:56/文章来源:https://blog.csdn.net/AA5279AA/article/details/130500028

 目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

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

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

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

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

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

示例 1:

输入:n = 10, logs = [[0,3],[2,5],[0,9],[1,15]]
输出:1
解释:
任务 0 于时刻 0 开始,且在时刻 3 结束,共计 3 个单位时间。
任务 1 于时刻 3 开始,且在时刻 5 结束,共计 2 个单位时间。
任务 2 于时刻 5 开始,且在时刻 9 结束,共计 4 个单位时间。
任务 3 于时刻 9 开始,且在时刻 15 结束,共计 6 个单位时间。
时间最长的任务是任务 3 ,而 id 为 1 的员工是处理此任务的员工,所以返回 1 。

示例 2:

输入:n = 26, logs = [[1,1],[3,7],[2,12],[7,17]]
输出:3
解释:
任务 0 于时刻 0 开始,且在时刻 1 结束,共计 1 个单位时间。
任务 1 于时刻 1 开始,且在时刻 7 结束,共计 6 个单位时间。
任务 2 于时刻 7 开始,且在时刻 12 结束,共计 5 个单位时间。
任务 3 于时刻 12 开始,且在时刻 17 结束,共计 5 个单位时间。
时间最长的任务是任务 1 ,而 id 为 3 的员工是处理此任务的员工,所以返回 3 。

示例 3:

输入:n = 2, logs = [[0,10],[1,20]]
输出:0
解释:
任务 0 于时刻 0 开始,且在时刻 10 结束,共计 10 个单位时间。
任务 1 于时刻 10 开始,且在时刻 20 结束,共计 10 个单位时间。
时间最长的任务是任务 0 和 1 ,处理这两个任务的员工的 id 分别是 0 和 1 ,所以返回最小的 0 。

提示:

  • 2 <= n <= 500
  • 1 <= logs.length <= 500
  • logs[i].length == 2
  • 0 <= idi <= n - 1
  • 1 <= leaveTimei <= 500
  • idi != idi + 1
  • leaveTimei 按严格递增顺序排列

解题思路:

* 解题思路:
* 设置三个变量,分别记录花费时间最多的员工ID,花费的最多时间,以及上一位员工的结束时间。
* 然后遍历logs,如果当前结束时间value减去上一员工结束时间lastValue>maxValue,则更新maxId和maxValue;
* 如果当前结束时间value减去上一员工结束时间lastValue==maxValue 并且 id<maxId,则更新maxId;

代码:

public class Solution2432 {public int hardestWorker(int n, int[][] logs) {int maxId = 0;int maxValue = 0;int lastValue = 0;for (int[] ints : logs) {int id = ints[0];int value = ints[1];if (value - lastValue > maxValue) {maxId = id;maxValue = value - lastValue;} else if (value - lastValue == maxValue && id < maxId) {maxId = id;}lastValue = value;}return maxId;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_675280.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 增加swap交换内存

一、创建虚拟内存 在实际开发中发现swap交换分区不够用了&#xff0c;于是需要创建虚拟内存来增加交换分区的大小。 在系统空闲空间位置创建swap虚拟内存专用文件夹 cd /data //切到你想要创建交换分区的目录 mkdir swap //新建文件夹swap cd swap //进入swap文件夹 备…

低代码开发重要工具:jvs表单动态字段配置方式

在表单中常常会有动态字段的场景&#xff0c;也就是如下图所示&#xff0c;根据一个字段的内容选项去控制另外字段的内容展示 配置的思路&#xff1a;根据第一个单选框选择的内容&#xff0c;通过关联筛选的方式去选择第二个单选框的内容&#xff0c;那么第二个单选框的物理存储…

【Linux】进程概述和进程状态转换(查看进程、实时显示进程动态、杀死进程等)

目录 进程概述进程状态转换进程的状态进程相关命令 橙色 进程概述 进程是正在运行的程序的实例&#xff0c;是基本的分配单元也是基本的执行单元。 可以用一个程序来创建多个进程&#xff0c;进程是由内核定义的抽象实体&#xff0c;并为该实体分配用以执行程序的各项系统资源…

上市后首份财报,紫燕食品去年净利下降超3成

近日&#xff0c;上海紫燕食品股份有限公司&#xff08;下称“紫燕食品”,603517.SH&#xff09;交出了上市后的首份年报。 去年9月26日&#xff0c;紫燕食品在上交所主板上市&#xff0c;成为继绝味食品&#xff08;603517.SH&#xff09;、周黑鸭&#xff08;01458.HK&#…

sourceTree离线环境部署

目录 1、下载sourceTree安装包&#xff0c;打开之后弹出注册界面&#xff08;需要去国外网站注册&#xff09;2、使用技术手段跳过注册步骤3、打开安装包进行安装 注&#xff1a;建议提前安装好git 1、下载sourceTree安装包&#xff0c;打开之后弹出注册界面&#xff08;需要去…

还能这么玩?清华给 ChatGPT 做逆向,发现了 ChatGPT 的进化轨迹!

作者 |小戏、Python 立足一个 ChatGPT&#xff0c;现在对大模型的研究简直是百花齐发百家争鸣&#xff0c;用 ChatGPT 做化学实验、给 ChatGPT 做心理测试、诱导 ChatGPT 越狱泄漏隐私、让几个 ChatGPT 形成一个小社会等等不胜枚举。 而最近&#xff0c;清华的研究团队又在大模…

期末复习自用--python

前言 python的优点&#xff1a; 简洁&#xff0c;语法优美&#xff0c;简单易学&#xff0c;开源&#xff0c;可移植性好&#xff0c;拓展性好&#xff0c;类库丰富&#xff0c;通用灵活&#xff0c;模式多样&#xff0c;良好的中文支持。 python的缺点&#xff1a; 执行效率不…

力扣简单题

目录 9、回文数 13、罗马数字转整数 14、最长公共前缀 20、有效的括号 58、最后一个单词的长度 66、加一 69、x的平方根 94、二叉树的中序遍历 100、相同的树 202、快乐数 205、同构字符串 242、有效的字母异位词 258、各位相加 268、丢失的数字 290、单词…

查询文件路径

1 问题 如何利用Java来查询文件的路径&#xff1f; 2 方法 1首先在类中利用main函数调用所有文件的和目录的代码。 2 然后开始写查询展示所有文件和目录的方法&#xff08;运用了递归的思想&#xff09; import java.io.File;import java.util.Arrays;import java.util.Scanner…

HTB靶机08-Nineveh-WP

008-nineveh 靶机IP&#xff1a; 10.10.10.43 scan Nmap 扫描 ┌──(xavier㉿kali)-[~] └─$ sudo nmap -sSV -T4 10.10.10.43 -p- Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-07 17:40 CST Nmap scan report for nineveh.htb (10.10.10.43) Host is up (0.34s …

PaddleVideo 简介以及文件目录详解

简介特性许可证书 PaddleVideo 文件目录总述applications 文件夹详述configs 文件夹详述docs 文件夹详述paddlevideo 文件夹详述utils 文件夹tasks 文件夹loader 文件夹modeling 文件夹solver 文件夹metrics 文件夹 简介 PaddleVideo 旨在打造一套丰富、领先且实用的 Video 工…

Matlab论文插图绘制模板第90期—带权重的有向图/图论图/网络图

在之前的文章中&#xff0c;分享了Matlab有向图的绘制模板&#xff1a; 进一步&#xff0c;如果我们想标注有向图的每条边的权重&#xff0c;或者直接用线条的粗细来表示权重&#xff0c;该怎么操作呢&#xff1f; 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内…

rosbag相关进阶操作

一些很好用的网站 时间戳在线转换网页 旋转矩阵、四元数、绕轴旋转、欧拉角在线转换网页 四元数、欧拉角可视化在线转换网页 一、按时间截取bag 使用如下代码&#xff1a; rosbag filter 原始包名.bag 截取后的包名.bag "t.to_sec() > 开始时间 and t.to_sec() <…

ArrayList快速失败机制

文章目录 一、什么是快速失败机制二、例子三、底层原理四、解决方法五、快速失败机制的一个小bug 一、什么是快速失败机制 ArrayList实现了一种称为快速失败(fail-fast)的机制,该机制在并发修改时会抛出ConcurrentModificationException异常。 这种机制的实现原理是:ArrayList…

elk生命周期删除日志

elk版本&#xff1a;7.14 一、简介 ELK日志我们一般都是按天存储&#xff0c;例如索引名为"prodlog-2023-05-08"&#xff0c;因为日志量所占的存储是非常大的&#xff0c;我们不能一直保存&#xff0c;而是要定期清理旧的&#xff0c;这里就以保留7天日志为例。 自…

SSM框架学习-IoC和DI入门案例

1.思路分析 2. IoC实例操作 导入坐标 <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.10.RELEASE</version></dependency>在resources中创建spring的配置文件 配置…

QString的解析与常用功能

QString存储一个16位QChar字符串&#xff0c;其中每个QChar对应一个UTF-16代码单元。(编码值大于65535的Unicode字符使用代理对存储&#xff0c;即两个连续的qchar。) Unicode是一个国际标准&#xff0c;支持目前使用的大多数书写系统。它是US-ASCII (ANSI X3.4-1986)和Latin-1…

「二线豪华」或成历史,理想反超沃尔沃再树「里程碑」

今年的上海车展&#xff0c;除了占据C位的新能源汽车&#xff0c;还有传统车企。 上海车展开幕前&#xff0c;沃尔沃汽车大中华区销售公司总裁钦培吉在新车发布会上直言&#xff1a;“新势力会的&#xff0c;我们三年就学会了&#xff1b;我们会的&#xff0c;新势力十年都学不…

MySQL数据库——MySQL下载安装

&#xff08;1&#xff09;数据库相关概念&#xff1a; &#xff08;2&#xff09;MySQL数据库下载&#xff08;windows版&#xff09;: 下载地址&#xff1a;MySQL :: Download MySQL Installerhttps://dev.mysql.com/downloads/installer/MySQL :: Download MySQL Installer…

【LeetCode】环形链表+结论证明

题目链接&#xff1a;环形链表 题目&#xff1a;给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 p…