当前位置:网站首页>力扣:56. 合并区间
力扣:56. 合并区间
2022-07-31 14:46:00 【empty__barrel】
- 重叠区间放在一起,合并重叠区间入数组
- 【0】先序排列重叠区间放在一起,这个问题有两种解决方案
- 直接入:将重叠区间第一个值入数组,通过重叠区间的比较更新这个值
- 最后入:遍历重叠区间所有值,当遇到第一个重叠区间第一个值,将上个重叠区间记录的fir,sec入数组。
显而易见直接入更好
代码一:直接入
class Solution {
public:
static bool comparev(vector<int>& a,vector<int>&b){
return a[0] < b[0];
}
vector<vector<int>> merge(vector<vector<int>>& intervals) {
if(intervals.size() == 0) return intervals;
vector<vector<int>> result;
sort(intervals.begin(), intervals.end(), comparev);
result.push_back(intervals[0]);
for(int i = 1; i < intervals.size() ; i++){
if(intervals[i][0] <= result.back()[1]){
if(intervals[i][1] > result.back()[1]) result.back()[1] = intervals[i][1];
}
else{
result.push_back(intervals[i]);
}
}
return result;
}
};
代码二:间接入
class Solution {
public:
static bool comparev(vector<int>& a,vector<int>&b){
return a[0] < b[0];
}
vector<vector<int>> merge(vector<vector<int>>& intervals) {
if(intervals.size() == 0) return intervals;
vector<vector<int>> result;
sort(intervals.begin(), intervals.end(), comparev);
int fir = intervals[0][0];
int sec = intervals[0][1];
//result.push_back(intervals[0]);
for(int i = 1; i < intervals.size() ; i++){
if(intervals[i][0] <= sec){
if(intervals[i][1] > sec) sec = intervals[i][1];
}
else{
intervals[i-1][0] = fir;
intervals[i-1][1] = sec;
result.push_back(intervals[i-1]);
fir = intervals[i][0];
sec = intervals[i][1];
}
}
// int q = intervals.size()-1;
intervals[0][0] = fir;
intervals[0][1] = sec;
result.push_back(intervals[0]);
return result;
}
};
边栏推荐
猜你喜欢

Nuget打包并上传教程

OAuth2:四种授权方式

OpenShift 4 - 用 Operator 部署 Redis 集群

Nuget package and upload tutorial

组合系列--有排列就有组合

分成两栏后文字顺序混乱的问题解决【写期刊论文时】

Motion capture system for end-positioning control of flexible manipulators

Why do we need to sub-library and sub-table?
![Miller_Rabin Miller Rabin probability sieve [template]](/img/51/8dcc9f78478debf7d3dcfa6d1a23e3.png)
Miller_Rabin Miller Rabin probability sieve [template]

OpenShift 4 - Deploy Redis Cluster with Operator
随机推荐
Introduction to BigDecimal, common methods
The role of /etc/profile, /etc/bashrc, ~/.bash_profile, ~/.bashrc files
Nuget打包并上传教程
分成两栏后文字顺序混乱的问题解决【写期刊论文时】
MANIFEST.MF文件(PDB文件)
jvm 一之 类加载器
OAuth2:使用JWT令牌
DeepLab Series Learning
微服务架构选型
Sentinel服务熔断和降级
Groupid(artifact id)
2021 OWASP TOP 10 Vulnerability Guide
MySQL has played to such a degree, no wonder the big manufacturers are rushing to ask for it!
名创优品斥资6.95亿购买创始人叶国富所持办公楼股权
Uniapp WeChat small application reference standard components
Detailed guide to compare two tables using natural full join in SQL
MySQL [subquery]
ERROR: Failed building wheel for osgeo
Unity Shader入门精要学习——透明效果
常用工具命令速查表