Leetcode:207. Course Schedule
来源:互联网 发布:观看仙侠学院 网络电影 编辑:程序博客网 时间:2024/06/16 04:03
代码:
class Solution {
public:bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) {
vector<unordered_set<int>> graph = make_graph(numCourses, prerequisites);
vector<bool> onpath(numCourses, false), visited(numCourses, false);
for (int i = 0; i < numCourses; i++)
if (!visited[i] && dfs_cycle(graph, i, onpath, visited))
return false;
return true;
}
private:
vector<unordered_set<int>> make_graph(int numCourses, vector<pair<int, int>>& prerequisites) {
vector<unordered_set<int>> graph(numCourses);
for (auto pre : prerequisites)
graph[pre.second].insert(pre.first);
return graph;
}
bool dfs_cycle(vector<unordered_set<int>>& graph, int node, vector<bool>& onpath, vector<bool>& visited) {
if (visited[node]) return false;
onpath[node] = visited[node] = true;
for (int neigh : graph[node])
if (onpath[neigh] || dfs_cycle(graph, neigh, onpath, visited))
return true;
return onpath[node] = false;
}
};
思路:
对图进行一次深度优先搜索,如果存在某个点通过搜素可以搜索到该点本身,则证明图中存在环,否则就是有向无环图
阅读全文
0 0
- [leetcode] 207.Course Schedule
- Leetcode 207. Course Schedule
- 207. Course Schedule LeetCode
- leetcode 207. Course Schedule
- leetcode.207. Course Schedule
- LeetCode 207. Course Schedule
- 【LeetCode】207. Course Schedule
- [leetcode] 207. Course Schedule
- leetcode-207. Course Schedule
- leetcode 207. Course Schedule
- [LeetCode] 207. Course Schedule
- 【Leetcode】207. Course Schedule
- Leetcode 207. Course Schedule
- LeetCode 207.Course Schedule
- Leetcode 207. Course Schedule
- Leetcode 207. Course Schedule
- [LeetCode]207. Course Schedule
- Leetcode 207. Course Schedule
- leetcode 625. Minimum Factorization
- iptabes打开指定端口
- GIT 不受版本控制
- 使用本地广播 LocalBroadcastReceiver
- sql
- Leetcode:207. Course Schedule
- POJ
- PAT甲级真题及训练集(10)--1036. Boys vs Girls (25)
- Kotlin Reference (八) 可见性修饰符, data class,object Claz
- cmake:vs2015/MinGW静态编译leveldb
- 安卓学习第一天:打造布局
- 百度地图SDK配置 运行报错:INSTALL_FAILED_NO_MATCHING_ABIS
- 水果消除(搜索之DFS)
- JavaScript记录