Advertisement
Ritam_C

leetcode merge-intervals

Feb 15th, 2021
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <algorithm>
  2. class Solution {
  3. public:
  4.     vector<vector<int>> merge(vector<vector<int>>& inter) {
  5.         vector<pair<int, int>> intervals;
  6.         for(int i = 0; i < inter.size(); i++){
  7.             intervals.push_back({inter[i][0], inter[i][1]});
  8.         }
  9.         sort(intervals.begin(), intervals.end());
  10.    
  11.         vector<vector<int>> v;
  12.         set<pair<int, int>> s;
  13.         for(int i = 0; i < intervals.size(); i++){
  14.             pair<int, int> t = intervals[i];
  15.             if(s.find(t) == s.end()){
  16.                 int k = t.second, p = t.first;
  17.                 s.insert(t);
  18.                 for(int j = i+1; j < intervals.size(); j++){
  19.                     if(k >= intervals[j].first){
  20.                         if(s.find(intervals[j]) == s.end()){
  21.                             s.insert(intervals[j]);
  22.                             t = intervals[j];
  23.                             k = max(k, t.second);
  24.                             p = min(p, t.first);
  25.                         }
  26.                     }
  27.                 }
  28.                 v.push_back({p, k});
  29.             }
  30.            
  31.         }
  32.        
  33.         return v;
  34.     }
  35. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement