本文章是❤️力扣 (LeetCode)❤️的内容,该专栏还有多篇优质内容在等待你观看,现在点击右上角点击这个————订阅专栏
坚持刷算法
每天进步一点点
冲冲冲冲冲冲冲冲冲冲
刷力扣 (LeetCode)刷力扣 (LeetCode)
- 题目
- 代码
- 反思
class Solution {
public:
vector> merge(vector>& a) {
vector> res;
//先定义一个答案
if (a.empty()) return res;
//如果是空数组,返回答案
sort(a.begin(),a.end());
//先排序
int l = a[0][0], r=a[0][1];
//第一个区间左端点a[0][0] 右端点是a[0][1]
for (int i = 1; i < a.size(); i ++){
//从第二个区间开始枚举
if (a[i][0] > r){
//如果第二个区间左端点大于r
res.push_back({l,r});
//说明当前区间可以保存
l =a[i][0],r=a[i][1];
//然后把下个区间更新为当前新的区间
}else r=max(r,a[i][1]);
//否则,合并连个区间,左端点不用更新,右端点更新a[i][1]
}
res.push_back({l,r});
//保存最后一个区间
return res;
}
};
//模板题,思路见一遍直接背过
//1.按左端点从小到大排序
//2.有交集,更新右端点,
//无交集,则保存当前区间
反思
见代码
看完文章后,估计你全学会了,加油,明天继续!!
给你7个棒棒糖
觉得文章可以,果断❤️点赞❤️收藏❤️关注❤️
粉丝专属福利
学习资料:含C/C++、算法、Mysql、Linux、后端等。
行业资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
交流加群:大佬指点迷津,你的问题往往有人遇到过,求资源在群里喊一声。
欢迎大家在评论区提出意见和建议!



