Problem Description:
You are given a list of events, where each event is represented by a pair of integers [start, end] (both values are inclusive). Your task is to determine the maximum number of events that occur simultaneously at any point in time.
Input:
- An array (or list) of events. Each event is represented as an array or tuple of two integers: [start, end], where 0 ≤ start ≤ end.
- The events might not be in any particular order.
Output:
- An integer representing the maximum number of overlapping events at any time.
Example:
Input: [[1, 4], [2, 5], [9, 12], [5, 9], [5, 12]]
Explanation:
- At time 5, the events [2, 5], [5, 9], and [5, 12] are all occurring, leading to a maximum overlap of 3 events.
Output: 3
Constraints:
- The total number of events can be up to 100,000. Consider efficiency in your solution.
- Aim for an algorithm with a time complexity better than O(n²) if possible.
Your task is to implement a function/method that takes the events list as input and returns the maximum count of overlapping events.
Good luck!