当前位置:网站首页>区间贪心(区间合并)
区间贪心(区间合并)
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;
}
边栏推荐
- R语言使用cov函数计算矩阵或者dataframe数据变量之间的协方差、cor函数计算相关性、cor函数通过method参数指定相关性、相关性计算方法Pearson,Spearman, Kendall
- pyhon爬虫之爬取图片(亲测可用)
- Flutter实战-请求封装(四)之gzip报文压缩
- DMPE-PEG-Mal,二肉豆蔻酰磷脂酰乙醇胺-聚乙二醇-马来酰亚胺简述
- LeetCode 每日一题——1403. 非递增顺序的最小子序列
- 面试官:可以谈谈乐观锁和悲观锁吗
- 域名哪家便宜?怎么买便宜域名?
- 软件基础的理论
- WPF 光标初始化的时候 temp 文件夹满了无法创建
- SQL优化最全总结 - MySQL(2022最新版)
猜你喜欢

【LeetCode每日一题】——540.有序数组中的单一元素

localhost,127.0.0.1,本机IP

Selenium Webdriver驱动自管理

【LeetCode Daily Question】——374. Guess the size of the number

小满nestjs(第一章 介绍nestjs)
C# Sqlite database construction and use skills

学习探索-网站中引入百度统计

化学制品制造业数智化供应链管理系统:打造智慧供应体系,赋能企业产效提升

荣耀发布开发者服务平台,智慧生态合作提速
The second step through MySQL in four steps: MySQL index learning
随机推荐
R语言dplyr包group_by函数和summarise_at函数计算dataframe计算不同分组的计数个数和均值、使用%>%符号将多个函数串起来
基于层次分析法的“内卷”指数分析
小程序笔记3
R语言glm函数使用频数数据构建二分类logistic回归模型,分析的输入数据为频数数据(多个分类指标对应的阴性样本和阳性样本的频数数据)、weights参数指定频数值
【LeetCode Daily Question】——374. Guess the size of the number
水能自发变成“消毒水”,83岁斯坦福教授:揭示冬天容易得流感的部分原因...
机器学习(十一):KNN(K近邻)
Learning to Explore - Setting the Foreground Color for Fonts
域名哪家便宜?怎么买便宜域名?
R语言缺失时间序列的填充及合并:补齐时间序列数据中所有缺失的时间索引、使用merge函数合并日期补齐之后的时间序列数据和另外一个时间序列数据(补齐左侧数据)
小程序+自定义插件的混合模式
codeforces每日5题(均1600)-第二十八天
88. (the home of cesium) cesium polymerization figure
Boost库学习笔记(一)安装与配置
租房小程序登顶码云热门
SQL优化最全总结 - MySQL(2022最新版)
图扑软件与华为云共同构建新型智慧工厂
又一款高颜值 Redis 官方可视化工具,功能真心强大!
我的大一.
化学制品制造业数智化供应链管理系统:打造智慧供应体系,赋能企业产效提升