jayati

Overlapping Intervals

Oct 6th, 2023
894
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. //{ Driver Code Starts
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. // } Driver Code Ends
  6. class Solution {
  7. public:
  8.     vector<vector<int>> overlappedInterval(vector<vector<int>>& intervals) {
  9.          // Code here
  10.          sort(intervals.begin(), intervals.end());
  11.  
  12.          int start=intervals[0][0];
  13.          int end=intervals[0][1];
  14.          vector<vector<int>> result;
  15.          for(int i = 1; i < intervals.size(); i++) {
  16.         if(intervals[i][0] <= end) {
  17.             end = max(end, intervals[i][1]);
  18.         } else {
  19.             result.push_back({start, end});
  20.             start = intervals[i][0];
  21.             end = intervals[i][1];
  22.         }
  23.     }
  24.  
  25.     result.push_back({start, end});
  26.  
  27.          return result;
  28.          
  29.     }
  30. };
  31.  
  32. //{ Driver Code Starts.
  33. int main(){
  34.     int tc;
  35.     cin >> tc;
  36.     while(tc--){
  37.         int n;
  38.         cin >> n;
  39.         vector<vector<int>>Intervals(n);
  40.         for(int i = 0; i < n; i++){
  41.             int x, y;
  42.             cin >> x >> y;
  43.             Intervals[i].push_back(x);
  44.             Intervals[i].push_back(y);
  45.         }
  46.         Solution obj;
  47.         vector<vector<int>> ans = obj.overlappedInterval(Intervals);
  48.         for(auto i: ans){
  49.             for(auto j: i){
  50.                 cout << j << " ";
  51.             }
  52.         }
  53.         cout << "\n";
  54.     }
  55.     return 0;
  56. }
  57. // } Driver Code Ends
Advertisement
Add Comment
Please, Sign In to add comment