【LeetCode】Merge Intervals
2014-06-15 15:15
399 查看
题目描述:
Given a collection of intervals, merge all overlapping intervals.
For example,
Given
return
直接用的sort排序……不知道算不算偷懒……
不用sort排序的话直接用归并排序,在排序的过程中进行合并区间的操作即可。
代码:
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].
直接用的sort排序……不知道算不算偷懒……
不用sort排序的话直接用归并排序,在排序的过程中进行合并区间的操作即可。
代码:
/** * 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) { if (intervals.empty()) return vector<Interval>(); vector<Interval> ret; sort(intervals.begin(), intervals.end(), compare); int l(intervals[0].start), r(intervals[0].end); for (int i = 0; i < intervals.size(); i++){ if (intervals[i].start>r){ ret.push_back(Interval(l, r)); l = intervals[i].start; } r = max(intervals[i].end, r); } ret.push_back(Interval(l, r)); return ret; } static bool compare(const Interval i1, const Interval i2){ return i1.start < i2.start; } };
相关文章推荐
- leetcode 056 —— Merge Intervals
- Leetcode 56 Merge Intervals
- LeetCode(56)Merge Intervals
- LeetCode 56 - Merge Intervals
- Leetcode|Merge Intervals
- [Leetcode]Merge Intervals
- leetcode 28: Merge Intervals
- LeetCode第56题之Merge Intervals
- [LeetCode] Merge Intervals
- LeetCode--Merge Intervals
- LeetCode—Merge Intervals
- [leetcode]Merge Intervals
- 【leetcode】 Merge Intervals
- Merge Intervals [leetcode]
- 【LeetCode-面试算法经典-Java实现】【056-Merge Intervals(区间合并)】
- [LeetCode] Merge Intervals
- leetcode-Merge Intervals
- Merge Intervals(LeetCode)
- LeetCode(56)Merge Intervals
- leetcode--Merge Intervals