CODE-0005 · claude-haiku-4-5 (high)
def merge_intervals(intervals):
    """
    Takes a list of intervals and returns a merged list of non-overlapping intervals.

    Two intervals are considered overlapping or touching if one ends where or after
    the other begins. All overlapping/touching intervals are merged into a single
    interval covering their union.

    Args:
        intervals: A list of [start, end] pairs where start <= end

    Returns:
        A sorted list of non-overlapping [start, end] intervals
    """
    if not intervals:
        return []

    # Sort intervals by start position, then by end position
    sorted_intervals = sorted(intervals)

    # Initialize result with the first interval
    merged = [sorted_intervals[0][:]]  # Copy the first interval

    for current in sorted_intervals[1:]:
        last_merged = merged[-1]

        # Check if current interval overlaps or touches the last merged interval
        # Intervals touch/overlap if current start <= last end
        if current[0] <= last_merged[1]:
            # Merge by extending the end of the last merged interval
            last_merged[1] = max(last_merged[1], current[1])
        else:
            # No overlap, add current interval as new entry
            merged.append(current[:])  # Copy current interval

    return merged