Leetcode 210. 课程表 II(DAY 89) ---- 拓扑排序相关题目 打周赛去了
s; vector next; for(int i=0;i
发布日期:2021-06-30 22:29:35
浏览次数:2
分类:技术文章
本文共 1596 字,大约阅读时间需要 5 分钟。
文章目录
原题题目
代码实现(首刷自解 复杂度较高还需优化)
class Solution { public: bool dfs(int n,int ret,const vector>& g,vector & visit) { if(visit[n]) { if(n == ret) return true; else return false; } visit[n] = true; for(const auto& course:g[n]) if(dfs(course,ret,g,visit)) return true; return false; } bool havecircle(const vector >& g,int numCourses) { vector visit; for(int i=0;i (numCourses,false); if(dfs(i,i,g,visit)) return true; } return false; } vector findOrder(int numCourses, vector >& prerequisites) { vector ret; vector > g(numCourses); unordered_map indegrees(numCourses); for(int i=0;i next = indegrees; vector v; while (true) { for(const auto& temp:next) { if(!temp.second) { ret.push_back(temp.first); v.push_back(temp.first); } } if(ret.size() == numCourses) break; next.clear(); while(!v.empty()) { auto pre = v.back(); indegrees.erase(pre); v.pop_back(); for(const auto& num:g[pre]) { auto temp = --indegrees[num]; next[num] = temp; } } } return ret; }};
代码实现(首刷自解优化 24ms)
class Solution { public: vector findOrder(int numCourses, vector>& prerequisites) { vector ret; vector > m(numCourses); unordered_map indegrees; for(int i=0;i
转载地址:https://love6.blog.csdn.net/article/details/115819286 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年05月01日 14时26分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
优化算法(四)——粒子群优化算法(PSO)
2019-04-30
轨迹规划 trajectory planning
2019-04-30
AGV自动导引运输车
2019-04-30
Trie树(字典树)
2019-04-30
COMP7404 Machine Learing——ROC
2019-04-30
YAPF —— Python代码格式化工具
2019-04-30
MATLAB与CUDA
2019-04-30
Linux png转jpg (convert命令)
2019-04-30
Ubuntu更新后终端中字体的颜色全是白色
2019-04-30
vscode git
2019-04-30
基于MATLAB的二进制数字调制与解调信号的仿真——2PSK
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——DSB
2019-04-30
HDU - 1166 敌兵布阵 (树状数组模板题/线段树模板题)
2019-04-30
CodeForces - 761C Dasha and Password (思维 暴力)
2019-04-30
POJ - 2481 Cows (树状数组 入门题)
2019-04-30