排序写题解
不限
排序
树状数组
队列
数组
哈希表
前缀和
Bash
C
C++
C#
Go
Java
JavaScript
PHP
Python
Python3
Rust
Swift
梦想
哈希
TypeScript
单调栈
js
hash
前缀和
最小堆
vector
方法一:差分数组 提示 $1$ 遍历每个人的出生与死亡年份,并维护每一年的人口变化量。 提示 $1$ 解释 首先,每个人对于人口数量的影响是独立的,因此我们可以独立地考虑每个人对人口数量的影响。 其次,每个人只在他的出生与死亡年份对人口数量有所影响,而这个影响体现在人口数量的变化量上。 最后,在给定人口初值与每一年人口
5.0k
解题思路 方法一:暴力法 由于数据范围很小,所以可以直接暴力。从年份开始循环,然后再循环logs数组,如果年份在出生和死亡年份之间就记录。 代码 复杂度分析 时间复杂度:O(n * k),k代表出生和死亡日期的年份差,这题是101年。 空间复杂度:O(1) 方法二:差分法 其实方法一只适合比赛,我们还是要想一想有没
1.4k
使用一个数组 dp 记录每一年出生和死亡情况,出生 +1 ,死亡 -1,遍历数组,并且求出前缀和,前缀和最大的年份即为人口数最多的年份。 时间复杂度 O(n),空间复杂度 O(2050 - 1950)。
c++ 哈希表存放年份对应生存人数,把表中元素放到数组中自定义排序 ``` int maximumPopulation(vector