PromptCode/1
Jump to navigation
Jump to search
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: # strictly less: touching intervals are NOT merged
merged[-1] = (prev_start, max(prev_end, end))
else:
merged.append((start, end))
return len(merged) - 1