class Solution {
public:
/*
思路:在有向图中能否找到一个无环的路径,遍历所有的节点。
如果有环,则证明无法找到。
贪心思想:首先找到节点中入度为0的节点来进行初始遍历,为什么要入度为0呢?
因为入度为0的情况下,没有其他节点能达到这个节点;
那么如果我们需要遍历所有节点的话,那么我们必须首先从这个节点开始。
使用dfs或者bfs
*/
vector<int> findOrder(int numCourses, vector<pair<int, int>>& pre) {
vector<vector<int>>graph(numCourses,vector<int>(numCourses,0));
vector<int>res;
if(!pre.size()){
for(int i=0;i<numCourses;i++){
res.push_back(i);
}
return res;
}
vector<int>in(numCourses,0);
for(auto x:pre){
//初始化图的边
graph[x.second][x.first]=1;
//入度
in[x.first]++;
}
//节点队列
queue<int>q;
for(
【Leetcode刷题笔记】210. Course Schedule II 有向图能否完全遍历?无环?
最新推荐文章于 2022-08-28 14:30:16 发布