问你如何用一个教室安排尽量多的活动?
链接
按结束时间排序活动,然后尝试安排即可问你至少需要几个教室才能安排全部的活动?
把所有结束时间开始时间放在一起排序,碰到开始时间加一,结束时间减一,峰值便是至少需要的教室个数。
- 问你至少需要几个教室才能安排全部的活动?具体是怎么安排的。
链接
按照开始时间排序优先安排活动,如果冲突,则加一个教室。
简单地理解一下,策略是这样,我们把活动按照开始时间有小到大的顺序排序。假设目前已经分配了k个教室(显然k初始等于0),对于当前这个活动,
(1) 如果它能安排在k个教室里的某一个,则把它安排在其中的任何一个教室里,k不变。
(2) 否则它和每个教室里的活动都冲突,则增加一个教室,安排这个活动。