LeetCode 207. Course Schedule [Medium]
来源:互联网 发布:心理教学软件 编辑:程序博客网 时间:2024/05/16 19:22
原题地址
题目内容
题目分析
题目的意思为,在上某一门课前,可能会需要有前导课程,假设某学生需要上N门课,给出课程的前导课程,问是否能修完。大概就是判断一个图里面有没有环,有环的话就无法修完。首先遍历整个图,将每个节点的入度记录下来,维护一个队列,记录当前入度为0的节点,队列每弹出一个节点就对整个图的入度做一次修改,弹出的节点保存在res队列中,表示该门课程可以修完,最后看res的size是否与N相同。
代码实现
class Solution {public: bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { int indegree[numCourses] = {0}; for(auto edge:prerequisites){ indegree[edge.first]++; } queue<int> temp; queue<int> res; for(int i = 0; i < numCourses; i++){ if(indegree[i] == 0){ temp.push(i); } } while(temp.size()){ int num = temp.front(); temp.pop(); res.push(num); for(auto edge:prerequisites){ if(edge.second == num){ indegree[edge.first]--; if(indegree[edge.first] == 0){ temp.push(edge.first); } } } } return res.size() == numCourses; }};
阅读全文
0 0
- 【LeetCode】207. Course Schedule (Medium)
- LeetCode 207. Course Schedule [Medium]
- 207. Course Schedule Medium
- [Leetcode 207, Medium] Course Schedule
- LeetCode #207 - Course Schedule - Medium
- 第十二周 leetcode 207. Course Schedule(Medium)
- Leetcode解题笔记 207.Course Schedule [Medium] 拓扑排序
- [Leetcode 270, Medium] Course Schedule II
- 【LeetCode】210. Course Schedule II (Medium)
- LeetCode #210 - Course Schedule II - Medium
- [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
- JS中的事件对象
- 二叉树的基本操作及一下问题(指针和终止输入)
- 作业2.2改错给x,y,z赋值
- 从网页搭建学习php开发——html入门学习笔记(一)
- 【WEB】vue2.0开发音乐播放器
- LeetCode 207. Course Schedule [Medium]
- Vue.js入门第三篇
- java压缩解压工具类
- A Mathematical Curiosity
- codeforces 889B. Restoration of string(拓扑排序)
- Rancher的管理员密码忘记怎么办?-登录RancherServer的mysql容器内,修改cattle库setting表中2个关于访问控制的字段的值
- pinpoint插件开发之二:从零开始新建一个插件
- 【AndroidStudio】手动配置gradle的方法
- JavaScript继承实现