# Merge Intervals

Posted: 10 Sep, 2020
Difficulty: Moderate

## PROBLEM STATEMENT

#### For example:

``````For the given 5 intervals - [1, 4], [3, 5], [6, 8], [10, 12], [8, 9].

Since intervals [1, 4] and [3, 5] overlap with each other, we will merge them into a single interval as [1, 5].

Similarly, [6, 8] and [8, 9] overlap, merge them into [6,9].

Interval [10, 12] does not overlap with any interval.

Final List after merging overlapping intervals: [1, 5], [6, 9], [10, 12].
``````
##### Input Format:
``````The first line of input contains an integer N, the number of intervals.

The second line of input contains N integers, i.e. all the start times of the N intervals.

The third line of input contains N integers, i.e. all the end times of the N intervals.
``````
##### Output Format:
``````Print S lines, each contains two single space-separated integers A, and B, where S is the size of the merged array of intervals, 'A' is the start time of an interval and 'B' is the end time of the same interval.
``````

#### Note

``````You do not need to print anything, it has already been taken care of. Just implement the given function.
``````
##### Constraints:
``````1 <= N <= 10^5
0 <= START, FINISH <= 10^9

Time Limit: 1sec
`````` Approach 1

In the brute force approach, mark each interval as non visited. Now for each non-visited interval, while there exists an overlapping interval with the current interval we will merge both intervals, update the current interval with the largest of both intervals, and mark them visited.

Note: Two intervals will be considered to be overlapping if the start time of one interval is less than or equal to the finish time of another interval, and greater than or equal to the start time of that interval.