标签:style blog color io for art ar div
简单题:先按左左边排序,然后对输入的区间和当前结果合并
1 /** 2 * Definition for an interval. 3 * struct Interval { 4 * int start; 5 * int end; 6 * Interval() : start(0), end(0) {} 7 * Interval(int s, int e) : start(s), end(e) {} 8 * }; 9 */ 10 class cmp 11 { 12 public: 13 bool operator()(const Interval&a,const Interval&b) 14 { 15 return a.start < b.start; 16 } 17 }; 18 bool comp(const Interval &lhs, const Interval &rhs) 19 { 20 return lhs.start < rhs.start; 21 } 22 class Solution { 23 public: 24 vector<Interval> merge(vector<Interval> &intervals) { 25 sort(intervals.begin(),intervals.end(),cmp()); 26 vector<Interval> ret; 27 int i; 28 for(i = 0 ; i < intervals.size() ; ++i) 29 { 30 if(i == 0) 31 { 32 ret.push_back(intervals[0]); 33 } 34 else 35 { 36 int size = ret.size(); 37 if (ret[size-1].start <= intervals[i].start && intervals[i].start <= ret[size-1].end) 38 ret[size-1].end = max(ret[size-1].end, intervals[i].end); 39 else 40 ret.push_back(intervals[i]); 41 } 42 } 43 return ret; 44 } 45 };
LeetCode--Merge Intervals,布布扣,bubuko.com
标签:style blog color io for art ar div
原文地址:http://www.cnblogs.com/cane/p/3901540.html