-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathearliestFinishTime.cpp
More file actions
32 lines (20 loc) · 1.03 KB
/
Copy pathearliestFinishTime.cpp
File metadata and controls
32 lines (20 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//LeetCode 3633 Earliest Finish Time for Land and Water Rides I
class Solution {
public:
int findTime(vector<int>& firstTime, vector<int>& firstDuration, vector<int>& secondTime, vector<int>& secondDuration){
int earliest = INT_MAX;
for(int i = 0; i < firstTime.size(); i++){
earliest = min(earliest, firstTime[i] + firstDuration[i]); //find smallest time in land rides
}
int ans = INT_MAX;
for(int i = 0; i < secondTime.size(); i++){
int start = max(earliest, secondTime[i]); //get max water times start, cannot go back in time
int finish = start + secondDuration[i];
ans = min(ans, finish);
}
return ans;
}
int earliestFinishTime(vector<int>& landStartTime, vector<int>& landDuration, vector<int>& waterStartTime, vector<int>& waterDuration) {
return min(findTime(landStartTime, landDuration, waterStartTime, waterDuration), findTime(waterStartTime, waterDuration, landStartTime, landDuration));
}
};