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

分享一个差分的写法

全部评论

相关推荐

01-18 09:26
已编辑
门头沟学院 Java
王桑的大offer:建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
点赞 评论 收藏
分享
没有offer的呆呆:日常和暑期都投试一试,3月份机会挺多的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务