码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 第29场 双周赛 题目4 题解

时间:2020-06-28 09:35:31      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:整数   关系   题解   依赖关系   etc   有意思   超过   必须   总数   

第一次参加 LeetCode 的比赛,花了1小时多一点才AK,不过还是感觉挺好玩的。

前面3题实在太无聊了,就不说了。只记录一下有意思的第4题。

5435. 并行课程 II

题意:给你一个整数 n 表示某所大学里课程的数目,编号为 1 到 n ,数组 dependencies 中, dependencies[i] = [xi, yi] 表示一个先修课的关系,也就是课程 xi 必须在课程 yi 之前上。同时你还有一个整数 k 。

在一个学期中,你 最多 可以同时上 k 门课,前提是这些课的先修课在之前的学期里已经上过了。

请你返回上完所有课最少需要多少个学期。题目保证一定存在一种上完所有课的方式。

题解:很明显要尽可能早上完课,主要受制的因素是依赖关系最深的课程,所以求出每个课程的依赖深度,然后每次找到所有可以学习的课程,若这些课程总数超过 k ,则选择前 k 个依赖最深的课程。也就是说,能学就尽量学,假如有很多课程可以学,则优先解决最“瓶颈”的课程。

看到有种把“瓶颈”用出度来度量的算法,不知道是他们对还是我对,或者都对。

LeetCode 第29场 双周赛 题目4 题解

标签:整数   关系   题解   依赖关系   etc   有意思   超过   必须   总数   

原文地址:https://www.cnblogs.com/KisekiPurin2019/p/13200845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!