# 1854 Maximum Population Year

You are given a 2D integer array `logs` where each `logs[i] = [birthi, deathi]` indicates the birth and death years of the `ith` person.

The population of some year `x` is the number of people alive during that year. The `ith` person is counted in year `x`'s population if `x` is in the inclusive range `[birthi, deathi - 1]`. Note that the person is not counted in the year that they die.

Return the earliest year with the maximum population.

Example 1:

``````Input: logs = [[1993,1999],[2000,2010]]
Output: 1993
Explanation: The maximum population is 1, and 1993 is the earliest year
with this population.
``````

Example 2:

``````Input: logs = [[1950,1961],[1960,1971],[1970,1981]]
Output: 1960
Explanation:
The maximum population is 2, and it had happened in years 1960 and 1970.
The earlier year between them is 1960.
``````

Constraints:

• `1 <= logs.length <= 100`
• `1950 <= birthi < deathi <= 2050`
 `````` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 `````` ``````class Solution: def maximumPopulation(self, logs: List[List[int]]) -> int: events = [] for birth_year, death_year in logs: events.append((birth_year, 1)) events.append((death_year, -1)) events.sort() current_pop = 0 max_pop = 0 max_pop_year = -1 for year, delta in events: current_pop += delta if current_pop > max_pop: max_pop = current_pop max_pop_year = year return max_pop_year``````