笔者昨天做了华为4.13的机考,考试的时候第二题的思路错了导致测例只过了10%,考完以后自己给出了测例证明自己做法错了,并在此基础上设计了一种解法,笔者水平有限,如有错误欢迎指正。 代码如下,总体思路为先进行自定义排序,将截止时间久的任务排在前面,截止时间一样时,积分高的排在前面;之后遍历每个时间节点,进行任务选择,具体选择算法如下: 从最后一天开始遍历至第一天,同时内层从排序后的第一个任务开始遍历任务,并用一个优先队列储存当前时间节点下允许完成的任务。因把截止时间久且未被选中的任务存起来,看看与前面的任务相比是否有更高的性价比,且这些任务在之后遍历到的更早的截至时间下完成都是有积分的。 1....