1353. Maximum Number of Events That Can Be Attended
https://leetcode.com/problems/maximum-number-of-events-that-can-be-attended/
Last updated
Was this helpful?
https://leetcode.com/problems/maximum-number-of-events-that-can-be-attended/
Last updated
Was this helpful?
Given an array of events
where events[i] = [startDayi, endDayi]
. Every event i
starts at startDayi
and ends at endDayi
.
You can attend an event i
at any day d
where startTimei <= d <= endTimei
. Notice that you can only attend one event at any time d
.
Return the maximum number of events you can attend.
Example 1:
Example 2:
Example 3:
Example 4:
Example 5:
Constraints:
1 <= events.length <= 10^5
events[i].length == 2
1 <= events[i][0] <= events[i][1] <= 10^5
一系列events有初始日期和终止日期(用int index表示),一天内最多参加一个event,问最多能参加多少个events。在同一天,greedy的优先选择event 终止时间短的参与,因为长的可以留给后面的日子来参加。对startTime做排序,然后遍历每一天d,把startTime和d相同的都放入min heap中(和meeting rooms II类似,min heap中存endTime),再将heap中endTime小于d(已过期的)的都抛出,最后根据前面greedy策略抛出endTime最靠前的作为当前日子要参与的event。