merge intervals
1 bool cmp(Interval a,Interval b) 2 { 3 return a.start < b.start ; 4 } 5 class Solution { 6 public: 7 vector<Interval> merge(vector<Interval> &intervals) { 8 // Start typing your C/C++ solution below 9 // DO NOT write int main() function 10 vector<Interval> v; 11 if( intervals.size() == 1 || intervals.empty() ) return intervals; 12 13 sort(intervals.begin(),intervals.end(),cmp); 14 15 for(int i=0; i<intervals.size() ; ) 16 { 17 Interval newInterval = intervals[i]; 18 while( i+1 < intervals.size() && newInterval.end >= intervals[i+1].start) 19 { 20 newInterval.end = max( newInterval.end,intervals[i+1].end); 21 i++; 22 } 23 v.push_back(newInterval); 24 i++; 25 26 } 27 return v; 28 } 29 };
posted on 2013-07-04 20:53 jumping_grass 阅读(148) 评论(0) 收藏 举报
浙公网安备 33010602011771号