Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- bool isIntersects(const pair<int, int> &p1, const pair<int, int > &p2) {
- return (p1.second >= p2.first );
- }
- vector<vector<int>> merge(vector<vector<int>>& intervals) {
- vector< vector<int > > result;
- if (intervals.size() == 0) return result;
- sort( intervals.begin(), intervals.end() );
- int l = intervals[0][0];
- int r = intervals[0][1];
- for (size_t i = 1; i < intervals.size(); i++) {
- if ( isIntersects( {l, r} , {intervals[i][0], intervals[i][1] } ) ) {
- r = max( r, intervals[i][1] );
- } else {
- result.push_back( { l, r } );
- l = intervals[i][0];
- r = intervals[i][1];
- }
- }
- result.push_back( { l, r } );
- return result;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement