[LeetCode] 052: Merge Intervals
2017-09-10 20:49
211 查看
[Problem]
Given a collection of intervals, merge all overlapping intervals.
For example,
Given
return
[Solution]
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].
[Solution]
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */ /** * Definition for cmp */ bool cmp(const Interval &a, const Interval &b){ return a.start < b.start; } /** * Definition for Solution */ class Solution { public: // merge interval into intervals void merge(vector<Interval> &intervals, Interval interval){ // intervals is empty if(intervals.size() == 0){ intervals.push_back(interval); } else{ int i = intervals.size()-1; // not interacted with the last interval if(interval.start > intervals[i].end){ intervals.push_back(interval); } // interacted with the last interval, update the end of the last interval else{ intervals[i].end = max(intervals[i].end, interval.end); } } } // merge intervals vector<Interval> merge(vector<Interval> &intervals) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<Interval> res; // sort by start sort(intervals.begin(), intervals.end(), cmp); // merge for(int i = 0; i < intervals.size(); ++i){ merge(res, intervals[i]); } return res; } };说明:版权所有,转载请注明出处。Coder007的博客
相关文章推荐
- LeetCode 56 Merge Intervals
- [LeetCode]Merge Intervals
- leetcode::Merge Intervals
- [leetcode-56]Merge Intervals(java)
- LeetCode Merge Intervals
- leetcode--Merge Intervals
- LeetCode:Merge Intervals
- LeetCode – Refresh – Merge Intervals
- Leetcode|Merge Intervals
- leetcode--Merge Intervals
- LeetCode--Merge Intervals
- leetcode:Merge Intervals
- [leetcode] Merge Intervals
- LeetCode-Merge Intervals
- leetcode—Merge Intervals
- LeetCode56——Merge Intervals
- 【LeetCode】Merge Intervals 解题报告
- 【LeetCode】Merge Intervals
- leetcode——Merge Intervals
- leetcode Merge Intervals