当前位置: 首页 > wzjs >正文

榆林医疗网站建设中央突然宣布一个大消息

榆林医疗网站建设,中央突然宣布一个大消息,趣闻网站如何做,建设通手机版什么人一学期要上2000节课啊jpg 看了非常久都没思路,主要是数据结构还没复习到图论,根本没思路怎么储存一个图…… 唯一记得的就是两种存储方法,一种是二维数组法,记录每一条边的有无,一种是只记录有的边&#xff0c…

什么人一学期要上2000节课啊jpg

看了非常久都没思路,主要是数据结构还没复习到图论,根本没思路怎么储存一个图……

唯一记得的就是两种存储方法,一种是二维数组法,记录每一条边的有无,一种是只记录有的边,适合于边比较少的情况。

但是两种记录方法在这好像都不太行。

最终还是看了答案。

记录两个东西,一是每一个节点的入度(就是需要上完多少节课才能上当前这节课),一是每个节点出去的线(就是必须上完这节课可以上的其他课)。

遍历整个数组,记录完这两个东西之后,再设置一个队列,记录目前正在上的课。

先将目前能上的课加入队列内(度为0的所有课),然后如果队列不空,就踢出队列的头元素,将头元素出去的线连接的课的出度减一,如果出度为零就加入队列尾部。

这个过程中记录从栈中踢出的课,最终判断课数是否等于课的总数,即位最终结果。

class Solution {
public:bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {vector<vector<int>> connect(numCourses,vector<int>{});int degree[2000];for(int i=0;i<prerequisites.size();i++){connect[prerequisites[i][1]].push_back(prerequisites[i][0]);degree[prerequisites[i][0]]++;}int result=0;queue<int> school;for(int i=0;i<numCourses;i++) if(degree[i]==0) school.push(i);while(!school.empty()){int clas=school.front();school.pop();result++;for(int i=0;i<connect[clas].size();i++){degree[connect[clas][i]]--;if(degree[connect[clas][i]]==0) school.push(connect[clas][i]);}}return result==numCourses;}
};

http://www.dtcms.com/wzjs/516743.html

相关文章:

  • 网站无法下载视频 怎么做seo公司 上海
  • 建设网站图片武汉seo网站推广
  • 企业网站推广广东seo推广公司
  • 东莞连衣裙 东莞网站建设如何建一个自己的网站
  • 有什么正网站做兼职的百度发作品入口在哪里
  • 北京做网站一般多少钱阿里大数据平台
  • 公安部的网站备案sem seo
  • 做彩票类网站用什么服务器seo网页优化平台
  • 建设营销型网站的原因百度seo软件
  • wordpress 添加数据表seo具体怎么优化
  • 花瓣网网站模板百度建站官网
  • 青岛李沧区城乡建设局网站互联网广告投放代理公司
  • 网站制作公司相关工作凡科网免费建站
  • 个人网站是请人做还是自己编写好百度热搜关键词排行榜
  • 北京疫情即将爆发西安seo培训机构
  • 软件开发工程师绩效考核seo蜘蛛屯
  • 平远县建设工程交易中心网站郑州百度分公司
  • wordpress数据库删除所有评论新十条优化措施
  • 做网站app要注册哪类商标网络推广引流
  • 网站建设验收内容教育培训机构推荐
  • 做的网站必须备案怎么创建私人网站
  • 平台类网站建设胡方案明细网络科技有限公司
  • 勒流有做网站的吗三明网站seo
  • 做手机网站和pc如何做百度官方
  • 学生网站建设实训报告关键词搜索量全网查询
  • 广州网站开发债券交品牌营销策划有限公司
  • 做网站适合用什么字体企业网站开发制作
  • 老域名新网站最大免费广告发布平台
  • 建筑工程网站监理答案市场监督管理局官网
  • 猪八戒网站做推广怎么样需要优化的地方