Sequential records can be compared pair by pair to find gaps.

Schedule Gaps

schedule_gaps.py
meetings = [
    {"start": 9, "end": 10},
    {"start": 12, "end": 13},
    {"start": 15, "end": 16},
]

gap_limit = 

large_gaps = 0
previous_end = meetings[0]["end"]
for meeting in meetings[1:]:
    gap = meeting["start"] - previous_end
    if gap >= gap_limit:
        large_gaps += 1
    previous_end = meeting["end"]

print("gaps=" + str(large_gaps))
meetings = [
    {"start": 9, "end": 10},
    {"start": 12, "end": 13},
    {"start": 15, "end": 16},
]

gap_limit = 

large_gaps = 0
previous_end = meetings[0]["end"]
for meeting in meetings[1:]:
    gap = meeting["start"] - previous_end
    if gap >= gap_limit:
        large_gaps += 1
    previous_end = meeting["end"]

print("gaps=" + str(large_gaps))
adjacent records Keeping the previous end time makes each gap calculation explicit.