题目浅析

  • 想查看原题可以点击题目链接

  • 简单地说,就是给二维数组,其中的元素代表一个人的出生和死亡年份,计算人口最多的年份(同样多的取早)

思路分享

代码解答(强烈建议自行解答后再看)

  • 参考题解
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:
rec = [0]*101
base_year = 1950
for birth, death in logs:
rec[birth-base_year] += 1
rec[death-base_year] -= 1
pre = 0
ans = 0
acc_rec = list(accumulate(rec))
# print(acc_rec)
for i, num in enumerate(acc_rec):
if num > pre:
ans = base_year + i
pre = num
return ans