← All problems

3635. Earliest Finish Time for Land and Water Rides II

MediumOpen on LeetCodeProblem statement

Problem Statement

3635. Earliest Finish Time for Land and Water Rides II

Medium


You are given two categories of theme park attractions: land rides and water rides.

A tourist must experience exactly one ride from each category, in either order.

Return the earliest possible time at which the tourist can finish both rides.

 

Example 1:

Input: landStartTime = [2,8], landDuration = [4,1], waterStartTime = [6], waterDuration = [3]

Output: 9

Explanation:​​​​​​​

Plan A gives the earliest finish time of 9.

Example 2:

Input: landStartTime = [5], landDuration = [3], waterStartTime = [1], waterDuration = [10]

Output: 14

Explanation:​​​​​​​

Plan A provides the earliest finish time of 14.​​​​​​​

 

Constraints:

Java

Source file
class Solution {
    public int earliestFinishTime(int[] landStartTime, int[] landDuration, int[] waterStartTime, int[] waterDuration) {
        int t1 = Integer.MAX_VALUE, t2 = Integer.MAX_VALUE;
        for (int i = 0; i < landStartTime.length; i++)
            t1 = Math.min(t1, landStartTime[i] + landDuration[i]);
        for (int i = 0; i < waterStartTime.length; i++)
            t2 = Math.min(t2, waterStartTime[i] + waterDuration[i]);
        int T1 = Integer.MAX_VALUE, T2 = Integer.MAX_VALUE;
        for (int i = 0; i < waterStartTime.length; i++)
            T1 = Math.min(T1, Math.max(t1, waterStartTime[i]) + waterDuration[i]);
        for (int i = 0; i < landStartTime.length; i++)
            T2 = Math.min(T2, Math.max(t2, landStartTime[i]) + landDuration[i]);
        return Math.min(T1, T2);
    }
}