题解 | 线段重合 (C++ 差分写法 O(n))
线段重合
https://www.nowcoder.com/practice/1ae8d0b6bb4e4bcdbf64ec491f63fc37
#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
int res[100005];
int n;
int a,b;
int main() {
int ans = 0;
scanf("%d",&n);
for(int i = 0; i < n; i++)
{
scanf("%d %d",&a,&b);
res[a ]+= 1;
res[b] -= 1;
}
for(int i = 1; i < 10001; i++)
{
res[i] += res[i-1];
ans = max(ans, res[i]);
}
printf("%d",ans);
}
// 64 位输出请用 printf("%lld")
分享一个差分的写法
查看8道真题和解析