拓扑排序 - wenzhoullq/leetcode GitHub Wiki

模板

   int[] rudu=new int[n];
   HashMap<Integer,List<Integer>> m=new HashMap<>();//临界表
   for(int[] edge:edgss) rudu[edge[1]]++;
   for(int i=0;i<n;i++) m.put(i,new ArrayList<>());
   Queue<Integer> q=new LinkedList<>();
   for(int i=0;i<rudu.length;i++){
       if(rudu[i]==0) q.add(i);
    }
   while(!q.isEmpty()){
         int size=q.size();
            int cur=q.poll();
            List<Integer> list=m.get(cur);
            for(int temp:list){
                 int temp=list.get(j)
                 rudu[temp]--;
                 if(rudu[temp]==0) q.add(temp);
            }
   }

题目

207. 课程表

210. 课程表 II

2192. 有向无环图中一个节点的所有祖先

⚠️ **GitHub.com Fallback** ⚠️