当前位置:网站首页>区间贪心(区间合并)
区间贪心(区间合并)
2022-08-04 17:28:00 【疯疯癫癫才自由】
803. 区间合并
给定 n
个区间 [li,ri]
,要求合并所有有交集的区间。
注意如果在端点处相交,也算有交集。
输出合并完成后的区间个数。
例如:[1,3]
和 [2,6] 可以合并为一个区间 [1,6]
。
输入格式
第一行包含整数 n
。
接下来 n
行,每行包含两个整数 l 和 r
。
输出格式
共一行,包含一个整数,表示合并区间完成后的区间个数。
数据范围
1≤n≤100000
,
−109≤li≤ri≤109
输入样例:
5
1 2
2 4
5 6
7 8
7 9
输出样例:
3
按左端点从小到大排序,再按右端点从小到大排序,每次比较前一区间的右端点和后一区间的左端点,如果有交集,则可以合并为一个新区间,否则不能合并为一个区间。
#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
typedef pair<int,int> PLL;
void merge(vector<PLL> &vec) //合并区间
{
sort(vec.begin(),vec.end()); //默认按第一个元素从小到大排序,再按第二个元素排序
vector<PLL> res;
int st=vec[0].first,ed=vec[0].second;;
for(int i=1;i<vec.size();++i)
{
if(ed<vec[i].first)
{
res.push_back({st,ed});
st=vec[i].first,ed=vec[i].second;
}
else
ed=max(ed,vec[i].second);
}
res.push_back({st,ed}); //最后一个坐标区间加上去
vec=res;
}
int main()
{
int n;
cin >> n;
vector<PLL> vec;
for(int i=0;i<n;++i)
{
int l,r;
cin >> l >> r;
vec.push_back({l,r});
}
merge(vec);
cout << vec.size() << endl;
return 0;
}
边栏推荐
- icu是哪个国家的域名?icu是什么域名?
- Compose 类型稳定性注解:@Stable & @Immutable
- 荣耀互联对外开放,赋能智能硬件合作伙伴,促进全场景生态产品融合
- What does the product system of a digital financial enterprise look like?
- Json的FastJson与Jackson
- 御神楽的学习记录之基于FPGA的AHT10温湿度数据采集
- DSPE-PEG-DBCO,DBCO-PEG-DSPE,磷脂-聚乙二醇-二苯并环辛炔科研实验用
- LeetCode Question of the Day - 1403. Minimum Subsequence in Non-Increasing Order
- 正则过滤字符串中 script 标签
- 消灭异步回调,还得是async-await
猜你喜欢
The second step through MySQL in four steps: MySQL index learning
Understand Chisel language. 32. Chisel advanced hardware generator (1) - parameterization in Chisel
《机器学习的随机矩阵方法》
LeetCode 每日一题——1403. 非递增顺序的最小子序列
【图像分类】2021-DeiT
【Gazebo入门教程】第二讲 模型库导入与可视化机器人建模(模型编辑器)
Fork/Join框架
对象实例化之后一定会存放在堆内存中?
2022年五一数学建模C题讲解
水能自发变成“消毒水”,83岁斯坦福教授:揭示冬天容易得流感的部分原因...
随机推荐
Cholesterol-PEG-DBCO,CLS-PEG-DBCO,胆固醇-聚乙二醇-二苯基环辛炔科研试剂
小程序笔记3
localhost,127.0.0.1,本机IP
机器学习(十六):主成成分分析(PCA)
IDEA以多端口启动同一个服务项目
【日记】mysql基本操作
自定义组件,并在组件中注入自定义组件实现多种场景的下的组件切换
RecyclerView 缓存与复用机制
【MySQL】数据库的4中隔离级别
Selenium Webdriver驱动自管理
要有遥不可及的梦想,也要有脚踏实地的本事
西西成语接龙小助手
树莓派温度监视关机保护脚本
hi, 请问下这是什么问题, 我看官网的example就是mysql的, 咋提示不支持?
框架整合(二)- 使用Apache ShardingSphere实现数据分片
JS中null与undefined的异同点
使用Redis做某个时间段在线数统计
Understand Chisel language. 32. Chisel advanced hardware generator (1) - parameterization in Chisel
【图像分类】2021-DeiT
2022年五一数学建模C题讲解