CODE-0005 · grok-build-0.1 (default)
def merge_intervals(intervals):
    if not intervals:
        return []
    sorted_intervals = sorted(intervals, key=lambda x: x[0])
    merged = []
    current = sorted_intervals[0][:]
    for i in range(1, len(sorted_intervals)):
        next_int = sorted_intervals[i]
        if current[1] >= next_int[0]:
            current[1] = max(current[1], next_int[1])
        else:
            merged.append(current)
            current = next_int[:]
    merged.append(current)
    return merged