{ intervals: { start: number, end: number }[] }
1sort by end time → 5 activities2selected = [], lastEnd = -13for i = 0 to n-1: → i = 0 [1,3]4 if start[i] >= lastEnd: selected.add(i), lastEnd = end[i] ✓ take5return selected
1function activitySelection(intervals: { start: number; end: number }[]): number[] {2 intervals.sort((a, b) => a.end - b.end);3 const selected: number[] = [];4 let lastEnd = -Infinity;5 intervals.forEach((inv, i) => {6 if (inv.start >= lastEnd) { selected.push(i); lastEnd = inv.end; }7 });8 return selected;9}