码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode -- Merge Intervals

时间:2014-08-15 21:04:39      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   for   ar   art   问题   

关键不是怎么想,而是怎么做

 [问题描述]

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].

[解题思路]

排序 + 比较

 1 bool cmp_Interval(Interval a, Interval b)
 2 {
 3     return a.start == b.start?(a.end < b.end):(a.start < b.start);
 4 }
 5 class Solution {
 6 public:
 7     vector<Interval> merge(vector<Interval> &intervals) {
 8         std::vector<Interval> ans;
 9         if (intervals.size() == 0)
10             return ans;
11         std::sort(intervals.begin(), intervals.end(), cmp_Interval);
12         ans.push_back(intervals[0]);
13         for (int i = 0; i < intervals.size(); i ++){
14             if (ans[ans.size() - 1].end >= intervals[i].start)
15                 ans[ans.size() - 1].end = std::max(ans[ans.size() - 1].end, intervals[i].end);
16             else
17                 ans.push_back(intervals[i] );
18         }
19         return ans;
20     }
21 };

 

leetcode -- Merge Intervals,布布扣,bubuko.com

leetcode -- Merge Intervals

标签:style   blog   color   io   for   ar   art   问题   

原文地址:http://www.cnblogs.com/taizy/p/3915599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!