LeetCode 210. 课程表 II 题目描述 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。 可能会有多个正确的顺序...
classSolution {publicint[] findOrder(intnumCourses,int[][] prerequisites) {intlen =prerequisites.length;boolean[][] queue =newboolean[numCourses][numCourses];for(int[] p : prerequisites){ queue[p[0]][p[1]]=true; }int[] degree =newint[numCourses];for(inti=0;i<numCourses;i++){ de...
首先修改visit标记,表示当前课程正在被访问,但是还没有入栈(因为这还不是最后一个课程,需要进一步进行dfs) visited[u] = 1; //对当前课程的所有后续课程进行dfs(类似对树的左右子树进行dfs) for(int v: edges.get(u)){ if(visited[v] == 0){ //dfs的主要目的就是...
现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] = [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi...