题目大意
https://leetcode.com/problems/non-overlapping-intervals/
很经典的贪心算法实例,任务选择 Activity Selection
题目分析
第一种思路是按结束时间从小到大排序。策略是后加入的任务如果开始时间比上一任务结束时间早,那么舍弃,否则方案数加一。
第二种思路是按开始时间排序。策略是后加入的任务如果结束时间比上一任务结束时间早,那么替换上一任务。否则要判断新加入的任务如果开始时间比上一任务结束时间晚,那么方案数加一。
代码
第一种思路
|
|
时间复杂度 O(n * log(n))
第二种思路
|
|
时间复杂度 O(n * log(n))