1. 题目

Given a collection of intervals, merge all overlapping intervals.

For example,
Given [1,3],[2,6],[8,10],[15,18],
return [1,6],[8,10],[15,18].

2. 思路

先排序,排序规则是start小的在前,如果start相等则end大的在前。
然后从前往后遍历,如果当前要处理的节点可以归并到当前已归并的末节点上,则归并上去。
最后将已归并节点之后的空间清掉。

3. 代码

/*** Definition for an interval.* struct Interval {*     int start;*     int end;*     Interval() : start(0), end(0) {}*     Interval(int s, int e) : start(s), end(e) {}* };*/bool cmp(Interval& i, Interval& j) {return i.start < j.start || i.start == j.start && i.end > j.end;
}class Solution {
public:// 先排序, 起点小终点大在前。// 然后从前往后遍历, 将可以归并的点进行归并填入,最后多出来的元素删掉vector<Interval> merge(vector<Interval>& intervals) {if (intervals.size() == 0) { return intervals; }sort(intervals.begin(), intervals.end(), cmp);int fill = 0;int merge = 1;while (merge < intervals.size()) {Interval& fi = intervals[fill];Interval& mi = intervals[merge];if (fi.end >= mi.start) {if (mi.end > fi.end) {fi.end = mi.end;}} else {fill++;if (fill != merge) {intervals[fill] = intervals[merge];}}merge++;}intervals.resize(fill+1);return intervals;}
};

【leetcode】56. Merge Intervals 相邻线段归并相关推荐

  1. 【细节实现题】LeetCode 56. Merge Intervals

    LeetCode 56. Merge Intervals Solution1:我的答案 这道题思路不难,有个坑爹的地方在于输入的区间向量未必是有序的,所以利用优先队列priority_queue来排序 ...

  2. LeetCode 56. Merge Intervals

    原题链接在这里:https://leetcode.com/problems/merge-intervals/ 题目: Given a collection of intervals, merge al ...

  3. 56. Merge Intervals(合并区间)解法(C++ 注释)

    56. Merge Intervals(合并区间) 1. 题目描述 2. 排序(Sorting) 2.1 解题思路 2.2 实例代码 1. 题目描述 给出一个区间的集合,请合并所有重叠的区间. 示例 ...

  4. [leetcode sort]56. Merge Intervals

    Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6],[8, ...

  5. [Leetcode][Easy][Merge Intervals]

    很简单的一个题,1A,想清楚思路即可. 现在的关键是如何用英语很快的解题的思路说清楚,并且在写代码的过程中,也可以很流畅的用英语把思路说出来. 以后刷题的关键还是模拟面试的过程吧,15分钟之内写出bu ...

  6. [LeetCode]Merge Intervals

    题目:Merge Intervals 给定n个区间合并重合区间 思路: 先按照区间起点排序,然后合并下面情况: 1.起点相同,以最大的终点为新的终点: 2.前一个终点大于后一个的起点. /****** ...

  7. C#LeetCode刷题之#56-合并区间(Merge Intervals)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3676 访问. 给出一个区间的集合,请合并所有重叠的区间. 输入: ...

  8. leetcode 56. 合并区间

    leetcode 56. 合并区间 题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] .请你合并所有重叠的区间, ...

  9. [leetcode]Merge Intervals @ Python

    原题地址:https://oj.leetcode.com/problems/merge-intervals/ 题意: Given a collection of intervals, merge al ...

最新文章

  1. Java 学习笔记 ------第二章 从JDK到IDE
  2. html 鼠标focus 背景,强大的CSS:focus-visible伪类真的太6了!
  3. IDEA及IDEA汉化包
  4. 重磅!就在刚刚,吊打一切的 YOLOv4 开源了!
  5. 小学生计算机课堂实践的重要性,浅谈小学信息技术教育重要性.doc
  6. [优先队列][堆] Luogu P4505 组合子逻辑
  7. online游戏服务器架构--数据库及事件相关 .
  8. php 输出数组函数调用函数,php – 无法在数组中调用函数
  9. TCP 粘包、半包 Netty 全搞定
  10. Python+OpenCV:图像二进制鲁棒独立基本特征(BRIEF, Binary Robust Independent Elementary Features)
  11. Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
  12. 机器学习入门——详解主成分分析
  13. spss essentials for python_SPSS python教程:[1]安装Python Essentials
  14. 《统计学》第八版贾俊平第十章方差分析知识点总结及课后习题答案
  15. js实现复制input隐藏域的取巧做法
  16. MyBatis之one2one与one2many
  17. Java多线程系列--【JUC锁04】-公平锁(二)
  18. thinkphp 官网教程
  19. javaWeb(b站狂神说)
  20. 基于重构误差的同构图分类模型

热门文章

  1. 软考-信息系统项目管理师-组织级项目管理
  2. 需求评审五个维度框架分析及其带来的启示-3-典型需求评审
  3. 7-26晚上实现mystring
  4. mysql用户角色权限代码_用户权限管理代码
  5. java 逗号运算符_Java 运算符
  6. 母亲节刚过,别盲目 high 你的“增长”
  7. 周五话分析 | 两个指标解读用户千百种离开的姿势(跳出率与退出率)
  8. 二叉树链表结构表示法
  9. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
  10. WebHook 与jenkins