华为OD机试(C卷+D卷)2024真题目录(Java & c++ & python)
题目描述
在某个项目中有多个任务(用task数组表示)需要你进行处理,其中:
- task[i] = [si, ei]
你可以在 si ≤ day ≤ ei 中的任意一天处理该任务,请返回你可以处理的最大任务数。
输入描述
第一行为任务数量 n
- 1 ≤ n ≤ 100000
后面 n 行表示各个任务的开始时间和终止时间,使用 si,ei 表示
- 1 ≤ si ≤ ei ≤ 100000
输出描述
输出为一个整数,表示可以处理的最大任务数。
用例
输入
3
1 1
1 2
1 3
输出
3
解题思路
贪心算法。
可以参照类似题目,数据更大的不重叠的线段
把每个任务都看成线段,如果线段是杂乱无章的,枚举所有线段选与不选的情况,那么复杂度是