题目:
分析:
不错,很快就想到了差分。
代码:
class Solution {
public:
int maxAliveYear(vector<int>& birth, vector<int>& death) {
map<int,int> m;
int min_=2000,max_=1000;
for(int i=0;i<birth.size();i++)
{
m[birth[i]]++;
m[death[i]+1]--;
max_=max(max_,birth[i]);
min_=min(min_,birth[i]);
}
int ans=-1;
int year;
int c=0;
for(;min_<=max_;min_++)
{
c=c+m[min_];
if(ans<c)
{
ans=c;year=min_;
}
}
return year;
}
};