Two Best Non-Overlapping Events - Problem
You are given a 0-indexed 2D integer array of events where events[i] = [startTimei, endTimei, valuei]. The ith event starts at startTimei and ends at endTimei, and if you attend this event, you will receive a value of valuei.
You can choose at most two non-overlapping events to attend such that the sum of their values is maximized.
Return this maximum sum.
Note: The start time and end time is inclusive. You cannot attend two events where one starts and the other ends at the same time. If you attend an event with end time t, the next event must start at or after t + 1.
Input & Output
Example 1 — Basic Case
$
Input:
events = [[1,3,2],[4,5,2],[2,4,3],[1,5,5]]
›
Output:
5
💡 Note:
We can choose events [1,5,5] alone for value 5, or [1,3,2] and [4,5,2] for value 4. The maximum is 5.
Example 2 — Two Non-overlapping
$
Input:
events = [[1,3,2],[4,5,2],[1,5,5]]
›
Output:
5
💡 Note:
Either choose [1,5,5] alone for value 5, or [1,3,2] and [4,5,2] for value 4. Maximum is 5.
Example 3 — Clear Two Best
$
Input:
events = [[1,5,3],[1,5,1],[6,6,5]]
›
Output:
8
💡 Note:
Choose [1,5,3] and [6,6,5] since they don't overlap: 3 + 5 = 8.
Constraints
- 2 ≤ events.length ≤ 105
- events[i].length == 3
- 1 ≤ starti ≤ endi ≤ 109
- 1 ≤ valuei ≤ 106
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code