2. Array - Intervals

2.1 Interval的Overlap 和 Merge

# 假定有interval_a 和 interval_b

low = max(interval_a[0], interval_b[0])
high = min(interval_a[1], interval_b[1])

if low < high:  # or low <= high
    # overlap
    overlap = [low, high]
    
    # merge (if the intervals has overlap)
    merged = [None, None]
    merged[0] = min(interval_a[0], interval_a[0])
    merged[1] = max(interval_b[1], interval_b[1])

2.2 Overlapping Interval List 问题

本质上这类问题是以时间为横轴的sliding window问题

2.2.1 问题要求只和区间本身有关的问题 - 可以仅从start_idx和end_idx就可以知晓的(区间index,或区间长度,或区间是否存在的问题)。

circle-check

e.g. https://leetcode.com/problems/merge-intervals/arrow-up-right

2.2.2 问题要求只和区间本身有关的问题(区间index,或区间长度,或区间是否存在的问题)。

circle-check

Last updated