当前位置:网站首页>力扣: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;
}
};
边栏推荐
- 分成两栏后文字顺序混乱的问题解决【写期刊论文时】
- ASP.NET Core 产生连续 Guid
- LeetCode rotate array
- element-plus虚拟表格virtual-list组件中是怎么实现清理lodash.memoize缓存的?
- 模板与泛型编程值typelist实现
- Nuget package and upload tutorial
- Comparison of Optical Motion Capture and UWB Positioning Technology in Multi-agent Cooperative Control Research
- Groupid(artifact id)
- Open Inventor 10.12 Major Improvements - Harmony Edition
- 高等数学——常用不定积分公式
猜你喜欢

The 232-layer 3D flash memory chip is here: the single-chip capacity is 2TB, and the transmission speed is increased by 50%

Description of Hikvision camera streaming RTSP address rules

Essential Learning for Getting Started with Unity Shader - Transparency Effect

Spark学习(3)-Spark环境搭建-Standalone

LeetCode二叉树系列——226.翻转二叉树

MySQL 23 classic interviews hang the interviewer

Jmeter常用的十大组件
![Recommendation System - Recall Phase - 2013: DSSM (Twin Towers Model) [Embedding (Semantic Vector) Recall] [Microsoft]](/img/40/b567780ed2cf04f1f1336922816f86.png)
Recommendation System - Recall Phase - 2013: DSSM (Twin Towers Model) [Embedding (Semantic Vector) Recall] [Microsoft]

MySQL【聚合函数】

组合系列--有排列就有组合
随机推荐
The 232-layer 3D flash memory chip is here: the single-chip capacity is 2TB, and the transmission speed is increased by 50%
搭建私有的的Nuget包服务器教程
Jmeter常用的十大组件
leetcode:2032. Values that appear in at least two arrays
NPM Taobao mirror (latest version) released a new version of npm mirror at 2021-11-21 16:53:52 [easy to understand]
Spark学习(2)-Spark环境搭建-Local
Redis与分布式:主从复制
Node实现数据加密
PDF 拆分/合并
小试牛刀:Go 反射帮我把 Excel 转成 Struct
基于极限学习机(ELM)进行多变量用电量预测(Matlab代码实现)
The paper manual becomes 3D animation in seconds, the latest research of Wu Jiajun of Stanford University, selected for ECCV 2022
2021 OWASP TOP 10 漏洞指南
梅克尔工作室-第一次
Miller_Rabin Miller Rabin probability sieve [template]
SetoolKit User Guide
MANIFEST.MF文件(PDB文件)
ERROR: Failed building wheel for osgeo
五个维度着手MySQL的优化
分成两栏后文字顺序混乱的问题解决【写期刊论文时】