题解 | 线段重合 (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")

分享一个差分的写法

全部评论

相关推荐

2025-12-16 17:17
门头沟学院 产品经理
烤点老白薯:他第二句话的潜台词是想让你帮他点个瑞幸或者喜茶啥的
mt对你说过最有启发的一...
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务