「每日LeetCode」2021年6月29日
本文最后更新于:2023年3月19日 晚上
Lt1854. 人口最多的年份
1854. 人口最多的年份
给你一个二维整数数组 logs
,其中每个 logs[i] = [birth, death]
表示第 i
个人的出生和死亡年份。
年份 x
的 人口 定义为这一年期间活着的人的数目。第 i
个人被计入年份 x
的人口需要满足:x
在闭区间 [birth, death - 1]
内。注意,人不应当计入他们死亡当年的人口中。
返回 人口最多 且 最早 的年份。
示例 1:
1 |
|
示例 2:
1 |
|
提示:
1 <= logs.length <= 100
1950 <= birth < death <= 2050
思路
差分数组,先新建一个 102 个长度的数组填充 0。遍历 logs,每个出生年加一,死亡年减去一(表示当前年与上一年的区别)。再遍历一次,当前年加等于上一年的人数就为每一年存在的人口的数量。用一个 max 记录人口最多的数量,如果遍历时得到的人数比 max 来的大,就更新 max,因为返回最早的一年,所以要同时记录下标。最后返回下标加上 1950 的 offset。
解答
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!