【leetcode】Merge Intervals
2013-09-20 22:29
239 查看
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */ struct cmp { bool operator() (Interval a,Interval b)//remember the cmp in sort is not equal in priority_queue { if(a.start!=b.start) return a.start<b.start; else return a.end<b.end; } }; class Solution { public: vector<Interval> merge(vector<Interval> &intervals) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<Interval> ans; if(intervals.empty()) return ans; sort(intervals.begin(), intervals.end() ,cmp());//cmp() ans.push_back(intervals[0]); for(int i=1;i<=intervals.size()-1;i++) { int preSta=ans.back().start; int preEnd=ans.back().end; int curSta=intervals[i].start; int curEnd=intervals[i].end; if(preEnd<curSta) { ans.push_back(intervals[i]); continue; } else//should merge { ans.back().start=min(preSta,curSta); ans.back().end=max(preEnd,curEnd); } } return ans; } };
相关文章推荐
- [leetcode] Merge Intervals
- 【Leetcode】Merge Intervals
- [leetcode] Merge Intervals
- Leetcode219: Merge Intervals
- LeetCode: Merge Intervals
- [Leetcode] Merge Intervals
- [LeetCode] Merge Intervals
- Leetcode题解 - 56. Merge Intervals
- [LeetCode 56] Merge Intervals
- [leetcode] Merge Intervals
- [LeetCode] 052: 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
- leetcode -- Merge Intervals