3683. Earliest Time to Finish One Task
Description
You are given a 2D integer array tasks
where tasks[i] = [si, ti]
.
Each [si, ti]
in tasks
represents a task with start time si
that takes ti
units of time to finish.
Return the earliest time at which at least one task is finished.
Example 1:
Input: tasks = [[1,6],[2,3]]
Output: 5
Explanation:
The first task starts at time t = 1
and finishes at time 1 + 6 = 7
. The second task finishes at time 2 + 3 = 5
. You can finish one task at time 5.
Example 2:
Input: tasks = [[100,100],[100,100],[100,100]]
Output: 200
Explanation:
All three tasks finish at time 100 + 100 = 200
.
Constraints:
1 <= tasks.length <= 100
tasks[i] = [si, ti]
1 <= si, ti <= 100
Solutions
Solution 1: Single Pass
We iterate through the \(\textit{tasks}\) array and, for each task, calculate its completion time \(s_i + t_i\). The minimum of all task completion times is the earliest time to finish at least one task.
The time complexity is \(O(n)\), where \(n\) is the length of the \(\textit{tasks}\) array. The space complexity is \(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 |
|