【华为OD机试E卷真题】 可以处理的最大任务数 | 原题+思路+多语言代码(本题100%)(C++、Java、Py)

华为OD机试E卷真题 可以处理的最大任务数 | 原题+思路+多语言代码(本题100%)(C++、Java、Py)

题目描述

在某个项目中有多个任务(用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

    解题思路

    1. 问题转化:将任务调度问题转化为选择不重叠区间的最大数量问题。

    2. 贪心策略:按照任务的结束时间进行排序,优先选择结束时间较早的任务。

    3. 算法步骤

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值