题解 | 活动安排 Python3
活动安排
https://www.nowcoder.com/practice/16d971e9e42e4f3b9b1e2b8794796a43
import sys # 23:49 # 想象最优的情况的时候,每一个选择的活动,它的结束时间肯定是在左边的活动结束之后,右边的活动开始之前 # 如何确保最多?就是选择当前可选择范围内(左右活动之间)结束时间最早的 # 因此根据结束时间排序 n = int(input()) intervals = [] for i in range(n): a, b = list(map(int,input().strip().split())) intervals.append([a,b]) intervals.sort(key=lambda x: x[1]) count = 1 end_time = intervals[0][1] for a,b in intervals[1:]: if a<end_time:continue end_time = b count += 1 print(count)