Concurrent shift overlap

Write codeMedium15 min

Your task

Two delivery drivers log their shifts for the week as minute intervals [start, end], each occupying the half-open span [start, end). Each driver's own shifts never overlap, but the lists are unsorted. Return the total number of minutes during which both drivers were on duty at the same time. Example: driver A [[0,60],[120,180]] and driver B [[30,150]] share 60 minutes.

Examples

shared_on_duty_minutes(a: list[list[int]], b: list[list[int]]) -> int
Example 1
Inputshared_on_duty_minutes([[0, 60], [120, 180]], [[30, 150]])
Output60