Interval List Intersections
Try to solve the Interval List Intersections problem.
Statement
Given two lists of intervalLista
and intervalListb
, return the intersection of the two interval lists.
Each interval in the lists has its own start and end time and is represented as [start, end]
. Specifically:
intervalLista[i] = [start
i
, end
i
]
intervalListb[j] = [start
j
, end
j
]
The intersection of two closed intervals i
and j
is either:
An empty set, if they do not overlap, or
A closed interval
[max(start
i
, start
j
), min(end
i
, end
j
)]
if they do overlap.
Also, each list of intervals is pairwise disjoint and in sorted order.
Constraints:
intervalLista.length
,intervalListb.length
intervalLista.length
intervalListb.length
start
i
end
i
end
i
start
i + 1
start
j
end
j
end
j
start[j + 1]
Examples
Understand the problem
Let’s take a moment to make sure you’ve correctly understood the problem. The quiz below helps you check if you’re solving the correct problem:
Interval List Intersections
From the following interval lists, find their intersecting intervals.
First list = [[2, 6], [7, 9], [10, 13], [14, 19], [20, 24]]
Second list = [[1, 4], [6, 8], [15, 18]]
[[1, 4], [6, 8], [13, 18]]
[[2, 4], [6, 6], [7, 8], [15, 18]]
[[2, 4], [6, 8], [15, 18]]
Figure it out!
We have a game for you to play. Rearrange the logical building blocks to develop a clearer understanding of how to solve this problem.
Try it yourself
Implement your solution in the following coding playground.
import java.util.*;class Solution {public static int[][] intervalsIntersection(int[][] intervalLista, int[][] intervalListb) {// Replace this placeholder return statement with your codereturn new int[][]{};}}