leetcode 207课程表

 

class Solution {
public:bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {//验证是否为DAG,每次验证指向的是否已经存在于当前图中//建图vector<int> indegree(numCourses,0);//入度vector<vector<int>> graph(numCourses,vector(0,0));//邻接表for(int i=0;i<prerequisites.size();i++){indegree[prerequisites[i][1]]++;graph[prerequisites[i][0]].push_back(prerequisites[i][1]);}//显示图showgraph(graph,numCourses);//BFSqueue<int> q;for(int i=0;i<numCourses;i++){if(indegree[i]==0){q.push(i);}}//将入度为0的点且未访问过的进入set,然后将其后继的入度全部减一,循环执行int cnt=0;while(!q.empty()){int front=q.front();q.pop();cnt++;for(int j=0;j<graph[front].size();j++){int v=graph[front][j];indegree[v]--;if(indegree[v]==0){q.push(v);}}}return cnt==numCourses;//当有环时,总有一些点入度不能减到0,因此不能完全bfs遍历
    }
private:void showgraph(vector<vector<int>>& graph,int numCourses){for(int i=0;i<numCourses;i++){cout<<i<<": ";for(int j=0;j<graph[i].size();j++){cout<<graph[i][j]<<",";}cout<<endl;}}
};

 

转载于:https://www.cnblogs.com/joelwang/p/11078426.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2012-04-12

一.JS 中的return Return false&#xff1a;相当于一个终止符,用来阻止提交表单或继续执行下面的代码&#xff0c;只在当前函数有效&#xff0c;不会影响其他外部函数的执行 Eg: function a(){if(true) return false;} Function test{a();b();c();} //a方法中的return false 不…

sketch怎么传到ps_2020年从Sketch移植到Figma的详细指南

sketch怎么传到psAs we’re locked up in our homes due to COVID-19 pandemic, many of us are working remotely and Figma is a go-to tool for designers for the same.由于COVID-19流行病使我们被关在家里&#xff0c;我们中的许多人都在远程工作&#xff0c;而Figma是设计…

还没搭建过Vue3.x项目?几行代码搞定~

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列相信现…

mysql 常用命令 汇总

参考阅读 摘要 权限 允许公网访问列操作 修改列名mysql 修改列属性其他 登录设置自动补全与utf-8编码其他一次添加多条记录修改表名字允许公网访问 1,修改表,登录mysql数据库,切换到mysql数据库,使用sql语句查看"select host,user from user ;" mysql -u root -pvmwa…

一步步创建 边栏 Gadget(二)

相信使用上篇中创建的边栏Gadget之后&#xff0c;大家会很郁闷。难道视频窗口就那么小吗&#xff1f;看起来真费劲。我能通过该Gadget看着一部电视剧。而不能够定制自己需要的或者想要看的电视剧。 在上一篇一步步创建 边栏 Gadget&#xff08;一&#xff09;中&#xff0c;我们…

tableau 自定义图表_一种新的十六进制美国地图布局的案例-Tableau中的自定义图表

tableau 自定义图表For whatever reason, 无论出于什么原因 maps are cool. Even though the earth has mostly been the same since those 地图很酷 。 即使自Pangaea days, we humans make and remake maps constantly. It might be that old maps remind us of how things …

2022,前端工具链十年盘点

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列2021 …

var result = ![] == []; console.log(result); // 结果是?为什么?

相等操作符会对操作值进行隐式转换后进行比较&#xff0c;如果一个操作值为布尔值&#xff0c;则在比较之前先将其转换为数值&#xff0c;这里 ![] 一定是布尔值了。 http://www.csser.com/board/4f3f516e38a5ebc9780004d3转载于:https://www.cnblogs.com/anjey/archive/2012/0…

讲讲volatile的作用

讲讲volatile的作用 讲讲volatile的作用254推荐一个定义为volatile的变量是说这变量可能会被意想不到地改变&#xff0c;这样&#xff0c;编译器就不会去假设这个变量的值了。精确地说就是&#xff0c;优化器在用到这个变量时必须每次都小心地重新读取这个变量的值&#xff0c;…

书籍排版学习心得_为什么排版是您可以学习的最佳技能

书籍排版学习心得重点 (Top highlight)I was introduced to design in a serpentine fashion. I don’t have any formal training. Instead, I’ve learned everything through the Web, books, and by interacting with designers daily.我被介绍为蛇形设计。 我没有任何正规…

javascript专题:如何构建自己的js库

首先看看这个&#xff1a; (function(){ //运行的代码 })(); 红色括号里面是一个匿名函数&#xff0c;红色括号是分割&#xff0c;表示里面的函数是一个部分&#xff0c;绿色的括号表示一个运算符&#xff0c;表示红色括号里面的函数要运行。 相当于定义完一个匿名函数后让它直…

若川的 2021 年度总结,弹指之间

1前言从2014年开始&#xff0c;每一年都会写年度总结&#xff0c;已经坚持了7个年头。7年的光阴就是弹指之间&#xff0c;转瞬即逝。正如孔子所说&#xff1a;逝者如斯夫&#xff0c;不舍昼夜。回顾2014&#xff0c;约定2015&#xff08;QQ空间日志&#xff09;2015年总结&…

线框图用什么软件_为什么要在线框中着色?

线框图用什么软件I was recently involved in a debate around why some wireframes (which were definitely not UI screens) were not 100% greyscale. This got me thinking — when is it ok to use colour in wireframes, and when is it going to cause you problems fur…

Linux 内核

Linux 内核是一个庞大而复杂的操作系统的核心&#xff0c;不过尽管庞大&#xff0c;但是却采用子系统和分层的概念很好地进行了组织。通过本专题&#xff0c;我们可以学习 Linux 的分层架构、内核配置和编译、内核性能调试和 Linux 2.6 中的许多提升功能。Linux 内核组成 Linux…

给asterisk写app供CLI调用

环境&#xff1a;CentOS6.2 Asterisk 1.8.7.1 一、添加源文件 复制app_verbose.c为app_testApp.c 复制app_verbose.exports为app_testApp.exports 主要是修改一些标识&#xff0c;编译不会出错就行&#xff0c;这里列出我进行的主要修改。 1、添加头文件 #include "aster…

前端,校招,面淘宝,指南

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列虽然是…

qq空间网页设计_网页设计中负空间的有效利用

qq空间网页设计Written by Alan Smith由艾伦史密斯 ( Alan Smith)撰写 Negative space is a key design element that you may come across in the fields of art, architecture, interior design, landscaping and web design. Rather than serving as awkward, empty areas …

自定义异常抛法

public List<LogRec> readLogs() throws ReadDataException { try { return returnLogRec(logFileName); } catch(Exception e) { throw new ReadDataException(e); } } 转载于:https://www.cnblogs.com/zengmiaogen/archive/2012/04/15/2450438.html

SQL SERVER服务停止和启动命令行

停止服务: net stop mssqlserver 启动服务: net start mssqlserver 转载于:https://www.cnblogs.com/davidgu/archive/2010/01/06/1640466.html

Git 和 GitHub 教程——版本控制入门

大家好&#xff0c;我是若川。持续组织了6个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列Learn…