207 Course Schedule
来源:互联网 发布:墨鲤抄 淘宝 编辑:程序博客网 时间:2024/06/04 18:14
参考了geeksforgeeks 有向图寻找环。代码如下:
public class Solution { public boolean canFinish(int numCourses, int[][] prerequisites) { if (prerequisites == null || prerequisites.length == 0) { return true; } Map<Integer, List<Integer>> map = new HashMap<Integer, List<Integer>>(); for (int i = 0; i < prerequisites.length; i++) { int[] pair = prerequisites[i]; int from = pair[1]; int to = pair[0]; if (map.containsKey(from)) { map.get(from).add(to); } else { List<Integer> list = new ArrayList<Integer>(); list.add(to); map.put(from, list); // map 0, <1> || 1, empty } if (!map.containsKey(to)) { map.put(to, new ArrayList<Integer>()); } } boolean[] visited = new boolean[numCourses]; boolean[] recStack = new boolean[numCourses]; for (int i : map.keySet()) { if (isCyclic(i, visited, recStack, map)) { return false; } } return true; } private boolean isCyclic(int v, boolean[] visited, boolean[] recStack, Map<Integer, List<Integer>> map) { if (!visited[v]) { visited[v] = true; recStack[v] = true; List<Integer> adj = map.get(v); for (int i = 0; i < adj.size(); i++) { int num = adj.get(i); if (!visited[num] && isCyclic(num, visited, recStack, map)) { return true; } else if (recStack[num]) { return true; } } } recStack[v] = false; return false; }}
0 0
- 207Course Schedule 210Course Schedule II
- LeetCode 207 - Course Schedule
- leetcode 207: Course Schedule
- LeetCode 207-Course Schedule
- 【Leetcode】Course Schedule #207
- LeetCode 207 Course Schedule
- LeetCode(207)Course Schedule
- leetcode 207: Course Schedule
- [LeetCode 207] Course Schedule
- 207 Course Schedule
- 【LEETCODE】207-Course Schedule
- LeetCode 207 Course Schedule
- 207Course Schedule
- 207 Course Schedule
- LeetCode 207 Course Schedule
- LeetCode 207 Course Schedule
- Leetcode 207 Course Schedule
- 207&210. Course Schedule
- 5.10.1 视口转换
- 0001.安装mysql
- 0002.hive安装
- 0003.hive启动错误
- Common Tool —— ant
- 207 Course Schedule
- 设置系统环境变量
- ajax所有笔记
- 课件_46.第九章:Ajax技术[1]-初探浏览器原生Ajax接口(1)
- linux下面误删root里面的文件夹 恢复方法~~
- 课件_47.第九章:Ajax技术[2]-初探浏览器原生Ajax接口(2)_1
- En(2015-11)把你唱给世界听
- 课件_47.第九章:Ajax技术[2]-初探浏览器原生Ajax接口(2)_2
- 将NLog target设置为RichTextBox的注意事项,NLog版本4.2.1