Leetcode Course Schedule II
来源:互联网 发布:女鞋淘宝店铺运营公司 编辑:程序博客网 时间:2024/05/06 06:31
public class Solution {
public int[] findOrder(int numCourses, int[][] prerequisites) {
HashMap<Integer,ArrayList<Integer>> map=new HashMap<Integer,ArrayList<Integer>>();
int[] indegree=new int[numCourses];
int[] result=new int[numCourses];
Queue<Integer> queue=new LinkedList<Integer>();
for(int i=0;i<prerequisites.length;i++){
if(map.containsKey(prerequisites[i][0]))
{
ArrayList<Integer> temp=map.get(prerequisites[i][0]);
temp.add(prerequisites[i][1]);
map.put(prerequisites[i][0],temp);
indegree[prerequisites[i][1]]++;
}
else{
ArrayList<Integer> temp=new ArrayList<Integer>();
temp.add(prerequisites[i][1]);
map.put(prerequisites[i][0],temp);
indegree[prerequisites[i][1]]++;
}
}
for(int i=0;i<numCourses;i++){
if(indegree[i]==0)
queue.offer(i);
}
int cur=numCourses-1;
while(!queue.isEmpty()){
int num=queue.poll();
result[cur--]=num;
if(map.containsKey(num)){
ArrayList<Integer> temp=map.get(num);
for(int i:temp){
if(--indegree[i]==0)
queue.offer(i);
}
}
}
return cur==-1?result:new int[0];
}
}
- [leetcode]Course Schedule II
- leetcode - Course Schedule II
- LeetCode Course Schedule II
- [leetcode] Course Schedule II
- leetcode:Course Schedule II
- [LeetCode] Course Schedule II
- Leetcode Course Schedule II
- 【leetcode】Course Schedule II
- leetcode Course Schedule II
- LeetCode Course Schedule II
- [leetcode] Course Schedule II
- #leetcode#Course Schedule II
- LeetCode Course Schedule II
- leetcode Course Schedule II
- Course Schedule II -- leetcode
- Leetcode: Course Schedule II
- [Leetcode] Course Schedule II
- LeetCode -- Course Schedule II
- 场景回调
- zzuoj 10409
- 对Objective-C中Block的追探
- 更好的搜索引擎
- 单例模式(Singleton)
- Leetcode Course Schedule II
- 【MongoDB】【Spark】在MongoDB上使用Spark
- 使mini2440的Qt程序横屏显示,-qt-gfx-transformed与QWS_DISPLAY
- 安装配置tftp及arm-linux-gcc
- windows 10 mobile 最低硬件要求
- 对vector等STL标准容器进行排序操作
- c#实现验证码 源码
- leetcode Word Break II
- 介绍Word转PDF简单的方法