问题解释 想象你有一堆活动,每个活动都有开始时间和结束时间。你需要为每个活动找一个主持人,但是同一个主持人在同一时间只能主持一个活动。我们想知道最少需要多少个主持人才能把所有活动都举办好。 解决方案步骤 活动排序:首先,我们把所有活动按照开始时间从早到晚排列,这样就能更方便地检查每个活动。 使用堆:我们用一个“优先队列”(可以想象成一个可以随时添加和删除的箱子),这个箱子里放的是正在进行的活动的结束时间。箱子里总是保持结束时间最早的活动在最上面。 检查每个活动: 对于每个活动,如果这个活动的开始时间大于或等于最上面的结束时间,说明这个活动可以用这个主持人,所以我们就把这个主持人(最上面的结...