Leetcode has a ton of problems about manipulations around intervals, especially merging.
Let's define an interval as [ai,bi]. To detect overlapping intervals, we first sort the intervals based on the starting position. Then, two consecutive intervals intersect if a2<b1.
|________|
|________|
where the second interval starts before the first one ends.