Advertisement
Guest User

Untitled

a guest
Jan 14th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Solution {
  2. public:
  3.     vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newInterval) {
  4.        vector<vector<int>> finalIntervals;
  5.         int minStart = newInterval[0];
  6.         int maxEnding = newInterval[1];
  7.         for (const vector<int> &interval : intervals) {
  8.            if (overlaps(interval, newInterval)) {
  9.                minStart = min(minStart, interval[0]);
  10.                 maxEnding = max(maxEnding, interval[1]);
  11.             }
  12.             else {
  13.                 finalIntervals.push_back(interval);
  14.             }
  15.         }
  16.         finalIntervals.push_back({minStart, maxEnding});
  17.         sort(begin(finalIntervals), end(finalIntervals));
  18.         return finalIntervals;
  19.     }
  20.    
  21.     bool overlaps(const vector<int> &a, const vector<int> &b) {
  22.        return (a[0] <= b[0] && b[0] <= a[1]) ||
  23.               (b[0] <= a[0] && a[0] <= b[1]);
  24.     }
  25. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement