# Disjoint Intervals

Last Updated: 11 Jan, 2021
Difficulty: Moderate

## PROBLEM STATEMENT

#### For example: [5,7] and [8,10] are disjoint intervals but the intervals [5,7] and [7,10] is not a disjoint interval as they have a common point, 7 in them.

##### Input format :
``````The first line of input contains an integer ‘T’ denoting the number of test cases.

The next 2*T represents the ‘T’ test cases.

The first line of each test case contains an integer ‘n’ denoting the number of intervals.

The next ‘n’ lines of each test case contain two space-separated non-negative integers denoting the starting and end of an interval respectively.
``````
##### Output Format :
``````For each test case, return the size of the maximal set of mutually disjoint sets.
``````
##### Note :
``````You do not need to print anything. It has already been taken care of. Just implement the given function.
``````
##### Constraints :
``````1 <= T <= 50
1 <= n <= 10^4
1 <= a < b <= 10^9
Where ‘T’ is the total number of test cases, ‘n’ is the number of intervals  and ‘a’, ‘b’ are the starting and ending of an interval.

Time Limit: 1 sec
``````

## Approach 1

• Sort the given interval set by their starting points.
• Traverse the sorted set from the start and for each interval calculate the maximal number of disjoint intervals ending before it.
• The recurrence relation is dp[i] = 1 + max(dp[j]) (0 <= j < i and ending(j)<starting(i))
• The answer is max(dp[0], dp[1], dp[2],.....,dp[n-1]).