LeetCode-Merge Intervals-合并区间
https://oj.leetcode.com/problems/merge-intervals/
水题。需要注意sort的用法可能在平台上不好使。
/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */ typedef pair<int,int> scpair; class Solution { public: int n,m; vector<Interval> merge(vector<Interval> &intervals) { vector<Interval> res; n=intervals.size(); vector<scpair> a(n); for (int i=0;i<n;i++){ a[i]=scpair(intervals[i].start,intervals[i].end); } if (n==0) return res; sort(a.begin(),a.end()); int l=a[0].first; int r=a[0].second; for (int i=1;i<n;i++){ if (r>= a[i].first){ r=max(r,a[i].second); } else{ res.push_back(Interval(l,r)); l=a[i].first; r=a[i].second; } } res.push_back(Interval(l,r)); return res; } };