type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 9, 2025 02:31 AM
给你一个整数
n
,表示有 n
节课,课程编号从 1
到 n
。同时给你一个二维整数数组 relations
,其中 relations[j] = [prevCoursej, nextCoursej]
,表示课程 prevCoursej
必须在课程 nextCoursej
之前 完成(先修课的关系)。同时给你一个下标从 0 开始的整数数组 time
,其中 time[i]
表示完成第 (i+1)
门课程需要花费的 月份 数。请你根据以下规则算出完成所有课程所需要的 最少 月份数:
- 如果一门课的所有先修课都已经完成,你可以在 任意 时间开始这门课程。
- 你可以 同时 上 任意门课程 。
请你返回完成所有课程所需要的 最少 月份数。
注意:测试数据保证一定可以完成所有课程(也就是先修课的关系构成一个有向无环图)。
拓扑排序
思路:这道题的本质是拓扑排序。需要注意的是,我们要使用额外的数组来存储前后依赖关系的时间累加,这样才能得到正确的答案。
也在采用另一种理解方式。
📎 参考
- 无