hardGreedyPure DSA~30 min
Attend the Maximum Number of Events
A calendar lists events, each available across an inclusive day range. You can attend at most one event per day and each event needs just one day. Maximize how many distinct events you attend.
Problem
Given events where events[i] = [startDay_i, endDay_i], you can attend an event on any single day d with startDay_i <= d <= endDay_i, attending at most one event per day. Return the maximum number of events you can attend.
Input
An array events of [startDay, endDay] pairs (1-indexed days).
Output
An integer: the maximum number of events attendable.
Constraints
- 1 <= events.length <= 100000
- 1 <= startDay_i <= endDay_i <= 100000
Examples
Example 1
Input
events = [[1,2],[2,3],[3,4]]
Output
3
Attend day 1, day 2, day 3 — one event each.
Example 2
Input
events = [[1,2],[2,3],[3,4],[1,2]]
Output
4
Attend on days 1,2,3,4 covering all four events.