LeetCode--Merge Intervals
来源:互联网 发布:t mac麦迪2代简版测评 编辑:程序博客网 时间:2024/06/16 00:21
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].
思路:先将区间按照首元素从小到大排序,然后放入第一个区间,比较已经放入的最后一个区间和即将放入的区间,如果前者end大于后者start,则更新前者end为两者end的最大值,反之则放入第二个区间,依次进行,直到所有区间合并。
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */class Solution {public: vector<Interval> merge(vector<Interval>& intervals) { vector<Interval>result; if(intervals.empty()) return result; sort(intervals.begin(),intervals.end(),[](Interval a,Interval b){return a.start<b.start;}); result.push_back(intervals[0]); for(int i=1;i<intervals.size();i++){ if(result.back().end>=intervals[i].start){ result.back().end=max(result.back().end,intervals[i].end); } else{ result.push_back(intervals[i]); } } return result; }};
阅读全文
0 0
- LeetCode: Merge Intervals
- LeetCode Merge Intervals
- LeetCode: Merge Intervals
- [Leetcode] Merge Intervals
- leetcode 28: Merge Intervals
- Leetcode: Merge Intervals
- [LeetCode] Merge Intervals
- [LeetCode]Merge Intervals
- leetcode merge intervals
- [leetcode]Merge Intervals
- LeetCode-Merge Intervals
- [leetcode] Merge Intervals
- LeetCode - Merge Intervals
- 【leetcode】Merge Intervals
- leetcode Merge Intervals
- LeetCode Merge Intervals
- [LeetCode] Merge Intervals
- LeetCode | Merge Intervals
- 各种分类算法比较
- Loadrunner基础:Loadrunner Vuser基本概念和应用
- hexo d无反应问题
- gitlab修改默认端口号
- JAVA_Int与String类型的互换
- LeetCode--Merge Intervals
- Java 数据结构8大排序算法
- java web学习总结40:编写自己的JDBC框架
- .NET调用JAVA的WebService方法
- CentOS 7 安装xrdp 远程桌面
- 前端学习笔记之1 基础语法及标签
- Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException
- Android Material Design学习之二AppBarLayout
- [LintCode 78] 最长公共前缀(Python)