Interval List Intersections
Try to solve the Interval List Intersections problem.
Statement
Given two lists of interval_list_a
and interval_list_b
, 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:
interval_list_a[i] = [start
i
, end
i
]
interval_list_b[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:
interval_list_a.length
,interval_list_b.length
interval_list_a.length
interval_list_b.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.
def intervals_intersection(interval_list_a, interval_list_b):# Replace this placeholder return statement with your codereturn []