leetcode 207. Course Schedule(拓扑排序)
来源:互联网 发布:看杀卫玠知乎 编辑:程序博客网 时间:2024/06/05 10:10
题意:
给你一些课程的学习先后顺序,问是否会发生矛盾。
思路:
判断是否产生有向环。并查集只能判断无向环,拓扑排序可判断有向环。
代码:
class Solution {public: bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { int n = prerequisites.size(); int c[numCourses]; memset(c,0,sizeof(c)); vector<vector<int> > arr(numCourses); for(int i = 0;i<n;i++) { int x = prerequisites[i].first; int y = prerequisites[i].second; arr[x].push_back(y); } for(int i = 0;i<numCourses;i++) { if(c[i]==0) { if(!dfs(i,c,arr)) return false; } } return true; } bool dfs(int u,int* c,vector<vector<int>> &arr) { c[u] = -1; for(int i = 0;i<arr[u].size();i++) { int v = arr[u][i]; if(c[v]<0) return false; else if(c[v]==0&&!dfs(v,c,arr)) return false; } c[u] = 1; return true; }};
阅读全文
0 0
- leetcode 207. Course Schedule(拓扑排序)
- 【LeetCode】Course Schedule--拓扑排序
- LeetCode OJ 207. Course Schedule 拓扑排序+邻接表
- leetcode 207. Course Schedule 课程调度 + 拓扑排序
- Leetcode解题笔记 207.Course Schedule [Medium] 拓扑排序
- LeetCode Course Schedule II 拓扑排序
- Leetcode 210 Course Schedule II 拓扑排序
- Course Schedule 拓扑排序
- Course Schedule[拓扑排序]
- 207. Course Schedule 广度优先&&拓扑排序
- 算法(七)Course Schedule 拓扑排序
- Course Schedule II 拓扑排序
- 拓扑排序:课程表Course Schedule
- leetcode(207) Course Schedule即拓扑排序讲解
- LeetCode 210. Course Schedule II|图问题.拓扑排序
- leetcode 210. Course Schedule II 拓扑排序 + HashSet
- LeetCode 207. Course Schedule(拓扑排序-求有向图中是否存在环)
- 判断有向图是否有环之拓扑排序-LeetCode 207. Course Schedule
- Java对Cookie的操作
- 习题10-5 连续素数之和 uva 1210
- j2ee 规范的接口和实现 到底在哪能找到
- POI表格常用方法
- Apollo(MQTT) 简介和源码搭建
- leetcode 207. Course Schedule(拓扑排序)
- presto集群部署
- 数据仓库,什么是数据仓库?
- SQL2005新建或修改维护计划提示“库没有注册”
- shell case正则匹配
- LintCode 155-二叉树的最小深度
- 207. Course Schedule
- ListView 单个Item 更新
- java 插入排序