博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 210: Couse Schedule II
阅读量:6354 次
发布时间:2019-06-22

本文共 1314 字,大约阅读时间需要 4 分钟。

class Solution {    public int[] findOrder(int numCourses, int[][] prerequisites) {        if(numCourses == 0) {            return new int[0];        }                Map
> dependencies = new HashMap<>(); int[] connections = new int[numCourses]; for (int[] pair : prerequisites) { if (!dependencies.containsKey(pair[1])) { dependencies.put(pair[1], new ArrayList<>()); } dependencies.get(pair[1]).add(pair[0]); connections[pair[0]]++; } int[] result = new int[numCourses]; int runner = 0; Queue
queue = new LinkedList<>(); for (int i = 0; i < numCourses; i++) { if (connections[i] == 0) { queue.offer(i); } } while (!queue.isEmpty()) { int parent = queue.poll(); result[runner++] = parent; if (dependencies.containsKey(parent)) { for (int child : dependencies.get(parent)) { if (connections[child]-- == 1) { queue.offer(child); } } } } return runner == numCourses ? result : new int[0]; }}

 

转载于:https://www.cnblogs.com/shuashuashua/p/7458645.html

你可能感兴趣的文章
PHP编译configure时常见错误(转)
查看>>
vim关于 引号和 括号的 高效操作-很好很强大的!
查看>>
java static代码块执行时机
查看>>
ArcGIS Add-in ValidateAddInXMLTask”任务意外失败
查看>>
第二十四周项目1-哈希法的存储与查找
查看>>
git cherry-pick 的使用
查看>>
转----C#线程调用带参数的方法 ~
查看>>
C语言的整型溢出问题
查看>>
solr之环境配置三
查看>>
设计模式-访问者模式(24)
查看>>
第一天开通这博客园
查看>>
throw
查看>>
Ruby 语法快速入门
查看>>
JS组件系列——Bootstrap Select2组件使用小结
查看>>
android Toast
查看>>
ADO.NET数据访问技术
查看>>
SourceMonitor的安装及使用
查看>>
AE Scene开发中的观察者模式
查看>>
bzoj 1098 poi2007 办公楼 bfs+链表
查看>>
linux面试题集锦2《转》
查看>>