Python, sorting, max overlapping segments algorithm
\nclass Solution:\n    def maximumPopulation(self, logs: List[List[int]]) -> int:\n        dates = []\n        for birth, death in logs:\n            dates.appe
```\nclass Solution:\n    def maximumPopulation(self, logs: List[List[int]]) -> int:\n        dates = []\n        for birth, death in logs:\n            dates.append((birth, 1))\n            dates.append((death, -1))\n            \n        dates.sort()\n\n        population = max_population = max_year = 0\n        for year, change in dates:\n            population += change\n            if population > max_population:\n                max_population = population\n                max_year = year\n        \n        return max_year\n```
['Python']