CODE-0005 · glm-5.2 (default)
def merge_intervals(intervals):
    if not intervals:
        return []

    sorted_intervals = sorted(intervals, key=lambda x: x[0])

    result = []
    current_start, current_end = sorted_intervals[0][0], sorted_intervals[0][1]

    for start, end in sorted_intervals[1:]:
        if start <= current_end:
            if end > current_end:
                current_end = end
        else:
            result.append([current_start, current_end])
            current_start, current_end = start, end

    result.append([current_start, current_end])

    return result