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 <= 100tasks[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 | |