3683. 完成一个任务的最早时间
题目描述
给你一个二维整数数组 tasks,其中 tasks[i] = [si, ti]。
数组中的每个 [si, ti] 表示一个任务,该任务的开始时间为 si,完成该任务需要 ti 个时间单位。
返回至少完成一个任务的最早时间。
示例 1:
输入: tasks = [[1,6],[2,3]]
输出: 5
解释:
第一个任务从时间 t = 1 开始,并在 1 + 6 = 7 时完成。第二个任务在时间 t = 2 开始,并在 2 + 3 = 5 时完成。因此,最早完成的任务在时间 5。
示例 2:
输入: tasks = [[100,100],[100,100],[100,100]]
输出: 200
解释:
三个任务都在时间 100 + 100 = 200 时完成。
提示:
1 <= tasks.length <= 100tasks[i] = [si, ti]1 <= si, ti <= 100
解法
方法一:一次遍历
我们遍历 \(\textit{tasks}\) 数组,对于每个任务,计算其完成时间 \(s_i + t_i\),求出所有任务完成时间的最小值,即为至少完成一个任务的最早时间。
时间复杂度 \(O(n)\),其中 \(n\) 为 \(\textit{tasks}\) 数组的长度。空间复杂度 \(O(1)\)。
1 2 3 | |
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 | |
1 2 3 | |