当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。

课程表

中等canFinish()
时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(V+E),空间 O(V+E)

课程表

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1。

给你一个数组 prerequisites,其中 prerequisites[i] = [a, b] 表示你在选修课程 a 之前必须先选修课程 b。

请你判断是否可能完成所有课程的学习?如果可以,返回 true;否则返回 false。

输入

  • numCourses:课程总数,正整数
  • prerequisites:先修关系数组,每个元素为 [a, b] 表示 b 是 a 的先修课

输出

布尔值:是否能完成所有课程(即有向图是否无环)。

示例一

输入:

numCourses = 2, prerequisites = [[1, 0]]

输出:

true

示例二

输入:

numCourses = 2, prerequisites = [[1, 0], [0, 1]]

输出:

false

解释:两门课程互相先修,形成环,无法完成。

示例三

输入:

numCourses = 1, prerequisites = []

输出:

true
Loading...

输入

[2,[[1,0]]]

预期输出

true
自定义用例