210. Course Schedule II
2016-07-22 03:59
218 查看
和207 Course Schedule是一样的
public int[] findOrder(int numCourses, int[][] prerequisites) { int[] result = new int[numCourses]; if(numCourses < 1) { return new int[0]; } int index = numCourses - 1; Queue<Integer> queue = new LinkedList<Integer>(); int[] indegree = new int[numCourses]; int len = prerequisites.length; for(int i = 0; i < len; i++) { indegree[prerequisites[i][1]]++; } for(int i = 0; i < numCourses; i++) { if(indegree[i] == 0) { queue.offer(i); } } while(!queue.isEmpty()) { int cur = queue.poll(); result[index] = cur; index--; for(int i = 0; i < len; i++) { if(prerequisites[i][0] == cur) { indegree[prerequisites[i][1]]--; if(indegree[prerequisites[i][1]] == 0) { queue.add(prerequisites[i][1]); } } } } for(int i = 0; i < numCourses; i++) { if(indegree[i] != 0) { return new int[0]; } } return result; }
相关文章推荐
- wordpress数据库配置文件wp-config.php
- 浅谈android中的自定义封装易用的Dialog
- 209. Minimum Size Subarray Sum
- Visual Studio 2012 trial version
- 树状数组
- LeetCode--No.235--Lowest Common Ancestor of a Binary Search Tree
- Codeforces Round #325 (Div. 2)ABC
- LeetCode--No.110--Balanced Binary Tree--待完善
- 二分查找
- GNUPLOT linespoints and save as pdf
- OSG3.4.0+VS2013编译与设置
- Android插件化
- Devstack单节点环境实战配置
- [Angular 2] ROUTING IN ANGULAR 2 REVISITED
- 所有数位相加
- Android开发方法数超过65535的解决办法
- 风雨20年:我所积累的20条编程经验
- python之路 线程、进程、协程、队列、python-memcache、python-redis
- 关于freeMarker得到list长度的问题
- Java新手入门必须掌握的30个基本概念