一个朴素的思想是,如果当前所在的时刻,有k个待处理的任务,假设是task1,task2,...,taskk , 显然我们是要取这个任务集合里的结束时间最早的任务。
所以一个贪心的思路是从左往右考虑每一个时刻s,
1.如果当前有任务在s开始,那么就加入到我们的待处理队列里。
2.如果当前有任务在s−1时结束则踢出队列(这里等价于舍弃掉这个任务了)。
在某个项目中有多个任务(用tasks数组表示)需要您进行处理,其中tasks[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