Untitled
unknown
plain_text
2 months ago
760 B
2
Indexable
class Solution { public: bool canFinish(int n, vector<vector<int>>& pre) { vector<vector<int>> graph(n); // create graph for(auto &x: pre){ if(x[0]==x[1]) return false; graph[x[1]].push_back(x[0]); } vector<bool> visited(n, false); // visited/completed courses return detectCycle(graph, visited, 0); } bool detectCycle(vector<vector<int>> graph,vector<bool> &visited, int start){ if(visited[start]) return false; visited[start] = true; bool finish = true; for(int i=0;i<graph[start].size();i++){ finish = finish && detectCycle(graph,visited,graph[start][i]); } return finish; } };
Editor is loading...
Leave a Comment