Untitled
unknown
plain_text
2 years ago
669 B
8
Indexable
class Solution {
public:
bool canFinish(int num, vector<vector<int>>& pre) {
vector<vector<int>> graph(num); //graph is actually a adjlist
vector<int>in(num,0);
for(auto it:pre){
graph[it[1]].push_back(it[0]);
in[it[0]]++;
}
queue<int> q;
for(int i=0;i<num;i++){
if(in[i]==0) q.push(i);
}
while(!q.empty()){
int f=q.front();
q.pop();
num--;
for(auto nbr:graph[f]){
in[nbr]--;
if(in[nbr]==0) q.push(nbr);
}
}
return (num==0);
}
};Editor is loading...