Difference between revisions of "PromptCode/1"

From srakrn | Wiki
Jump to navigation Jump to search
(Created page with "<pre> def cg(intervals: list[tuple[int, int]]) -> int: if len(intervals) <= 1: return 0 sorted_intervals = sorted(intervals, key=lambda x: (x[0], x[1]))...")
 
Line 9: Line 9:
 
     for start, end in sorted_intervals[1:]:
 
     for start, end in sorted_intervals[1:]:
 
         prev_start, prev_end = merged[-1]
 
         prev_start, prev_end = merged[-1]
         if start < prev_end: # strictly less: touching intervals are NOT merged
+
         if start < prev_end:
 
             merged[-1] = (prev_start, max(prev_end, end))
 
             merged[-1] = (prev_start, max(prev_end, end))
 
         else:
 
         else:

Revision as of 16:01, 20 April 2026

def cg(intervals: list[tuple[int, int]]) -> int:
    if len(intervals) <= 1:
        return 0

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

    merged = [sorted_intervals[0]]
    for start, end in sorted_intervals[1:]:
        prev_start, prev_end = merged[-1]
        if start < prev_end:
            merged[-1] = (prev_start, max(prev_end, end))
        else:
            merged.append((start, end))

    return len(merged) - 1