Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. class Solution {
  2. public:
  3. bool isIntersects(const pair<int, int> &p1, const pair<int, int > &p2) {
  4. return (p1.second >= p2.first );
  5. }
  6. vector<vector<int>> merge(vector<vector<int>>& intervals) {
  7. vector< vector<int > > result;
  8. if (intervals.size() == 0) return result;
  9.  
  10. sort( intervals.begin(), intervals.end() );
  11.  
  12. int l = intervals[0][0];
  13. int r = intervals[0][1];
  14.  
  15. for (size_t i = 1; i < intervals.size(); i++) {
  16. if ( isIntersects( {l, r} , {intervals[i][0], intervals[i][1] } ) ) {
  17. r = max( r, intervals[i][1] );
  18. } else {
  19. result.push_back( { l, r } );
  20. l = intervals[i][0];
  21. r = intervals[i][1];
  22. }
  23. }
  24.  
  25. result.push_back( { l, r } );
  26.  
  27. return result;
  28. }
  29. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement