T210 课程表||

news/2025/2/12 23:47:56/

现在你总共有 n 门课需要选,记为 0 到 n-1。

在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]

思想:也就是各个课程的选择具有偏序关系,构成一个有向图,要使按偏向关系完成所有课程要求此有向图无环,所以利用拓扑排序
时间复杂度O(||vertex||^2),空间复杂度O(||vertex||)

class Solution {public int[] findOrder(int numCourses, int[][] prerequisites) {//先构照邻接表<v1,List>//list表示为v1所指向的节点,或者说v1和list构成了其边集HashMap<Integer,List<Integer>> adj = new HashMap<>();int[] edgsCount = new int[numCourses];//用于表示各个节点的入度List<Integer> res = new ArrayList<>();//用于存储课程节点的访问顺序//初始化邻接表for(int vid=0;vid<numCourses;vid++){adj.put(vid,new ArrayList<Integer>());}//基于偏向关系集prerequisites,再次初始化adj和edgesCountfor(int[]temp:prerequisites){adj.get(temp[1]).add(temp[0]);//temp[1]->temp[0]edgsCount[temp[0]]++;//temp[0]的入度+1}LinkedList<Integer> queue = new LinkedList<>();//构建一个队列进行拓扑排序,这里使用BFSfor(int vertex=0;vertex<numCourses;vertex++){//初始化队列,将入度为0的顶点入队if(edgsCount[vertex]==0){queue.add(vertex);}}//进行拓扑排序while(!queue.isEmpty()){int fromVertex = queue.poll();res.add(fromVertex);//遍历它的所有边,将其所指向的顶点的入度减1for(int toVertex:adj.get(fromVertex)){edgsCount[toVertex]--;if(edgsCount[toVertex]==0){//再次将入度为0的节点入队queue.add(toVertex);}}}if(res.size()==numCourses){//若拓扑排序完成后,所有节点均入队了,则表示此图无环,可以完成所有课程int[] t = new int[numCourses];for(int i=0;i<res.size();i++){t[i] = res.get(i);}return t;  }return new int[0];}
}

http://www.ppmy.cn/news/157080.html

相关文章

COMETRICS T210-353G2

提起词&#xff0c;更像是一时心绪&#xff0c;寥寥几字&#xff0c;言说的意境却成全了千年辗转&#xff0c;捧读一抹风月之人的情衷。 或许是繁盛后的沉静&#xff0c;是极度张狂后的内敛温润&#xff0c;那些高远辽阔的意境&#xff0c;转瞬成为袅袅青烟般细腻绵延&#xf…

SM-T210 三星 4.1.2 ROOT

SM T210 4.1.2 三星的平板&#xff0c;网上不大好root。 现在安全RooT成功。 1.首选 百度一键ROOT.如果不OK&#xff0c;百度一键ROOT对我的2个设备可以&#xff08;n个月以前&#xff09;&#xff0c;其他的同型号设备不行&#xff08;n个月以后&#xff09;。 无法确定是一…

GOMETRICS T210-353G2

一眼就看中了“喜上眉梢”的胸针&#xff0c;红梅、金羽&#xff0c;灵动温暖。民间传说&#xff0c;鹊能报喜&#xff0c;故称喜鹊。它让我想起小寒的物候&#xff1a;“一候雁北乡&#xff0c;二候鹊始巢&#xff0c;三候雉始鸲”。 小寒是二十四节气中的第二十三个节气&…

联想微型计算机beta2,联想上网本升级IdeaPad S10-2

联想今天在美国市场发布了新版上网本IdeaPad S10-2&#xff0c;主要对S10的用户体验特性进行了提升&#xff0c;让上网本更加方面易用。 IdeaPad S10-2的硬件平台和S10完全相同&#xff0c;包括10.1寸LED背光液晶屏幕&#xff0c;Atom N270处理器&#xff0c;1GB DDR2内存&…

联想笔记本S10电池拆解

私自拆解可能有危险性&#xff0c;请勿模仿。 这台旧笔记本大概是10年3月份深圳西丽天虹商场电脑专场买的&#xff0c;说来都10个年头了&#xff1b;由于性能问题&#xff0c;早已闲置&#xff0c;闲来无事&#xff0c;拆解玩一下&#xff0c;自己曾经也是一名电子爱好者&#…

三星samsung安装谷歌套件谷歌服务框架GMS,Google Play商店教程,支持Galaxy S22 Ultra, S21,S20,S10 pro,S9,note10,A52,A51,全机型

遇到问题 三星手机有着业内一流的屏幕,一流的配置,一流的颜值,但是但是我这么好的手机不能安装谷歌Play商店,无法体验各种应用,毕竟现在Play商店截止2021年保有1亿个应用,是其他国内应用市场不能比的,包括你要体验谷歌出品的优秀应用比如邮箱,map,chrome浏览器同步数据,谷歌云…

lenovo-S10改造成web服务器全过程

背景 手上多年前的上网本lenovo-s10,发现京东二手都不收这货&#xff0c;逼着我们废物利用~ 电信宽带&#xff0c;呼了N次客服之后已经成功开通了外网IP&#xff08;免费&#xff09;&#xff0c;只需要服务器支持&#xff0c;而这服务器性能并不要求很高&#xff0c;上网本正好…

ideapad linux s9_Ideapad S9/S10 也拥有了意外保障

编者按&#xff1a;08年12月8日&#xff0c;Ideapad S9/S10 也拥有了意外保障&#xff0c;联想服务针对Ideapad S9/S10率先推出了两款服务产品&#xff1a;Ideapad S9/S10 一年意外保障和Ideapad S9/S10 二年全面保障&#xff0c;让消费者不再为便携而又易损的它担心&#xff0…