CODE-0005 · deepseek-v4-pro (default)
def merge_intervals(intervals):
    """Merge overlapping and touching intervals.

    Args:
        intervals: List of intervals where each interval is [start, end] with start <= end.

    Returns:
        A new list of non-overlapping, merged intervals sorted by start. An empty
        list is returned if the input is empty.
    """
    if not intervals:
        return []

    # Sort by start time while keeping original intervals untouched
    sorted_intervals = sorted(intervals, key=lambda x: x[0])

    merged = []
    current_start, current_end = sorted_intervals[0]

    for start, end in sorted_intervals[1:]:
        if current_end >= start:          # Overlap or touch
            current_end = max(current_end, end)
        else:
            merged.append([current_start, current_end])
            current_start, current_end = start, end

    merged.append([current_start, current_end])
    return merged