Leetcode 1136. 并行课程

article/2025/6/21 11:38:24

1.题目基本信息

1.1.题目描述

给你一个整数 n ,表示编号从 1 到 n 的 n 门课程。另给你一个数组 relations ,其中 relations[i] = [prevCoursei, nextCoursei] ,表示课程 prevCoursei 和课程 nextCoursei 之间存在先修关系:课程 prevCoursei 必须在 nextCoursei 之前修读完成。

在一个学期内,你可以学习 任意数量 的课程,但前提是你已经在 上 一学期修读完待学习课程的所有先修课程。

请你返回学完全部课程所需的 最少 学期数。如果没有办法做到学完全部这些课程的话,就返回 -1。

1.2.题目地址

https://leetcode.cn/problems/parallel-courses/description/

2.解题方法

2.1.解题思路

kahn算法进行拓扑排序

2.2.解题步骤

第一步,构建有向图的邻接表和入度字典

第二步,kahn算法拓扑排序

  • 2.1.记录下一层的节点

  • 2.2.遍历一层的节点

第三步,根据最终的入度字典判断图中是否存在环,并返回结果

3.解题代码

python代码

from collections import defaultdictclass Solution:# Kahn算法解拓扑def minimumSemesters(self, n: int, relations: List[List[int]]) -> int:# 第一步,构建有向图的邻接表和入度字典graph={i+1:[] for i in range(n)}inDict=defaultdict(int)for edge in relations:graph[edge[0]].append(edge[1])inDict[edge[1]]+=1# print("t1",graph,inDict)# 第二步,kahn算法拓扑排序que=[key for key in graph.keys() if inDict[key]==0]# print("t2",que)cnt=0while que:# 2.1.记录下一层的节点nextSliceNodes=[]# 2.2.遍历一层的节点for node in que:for subNode in graph[node]:inDict[subNode]-=1if inDict[subNode]==0:nextSliceNodes.append(subNode)que=nextSliceNodescnt+=1# 第三步,根据最终的入度字典判断图中是否存在环,并返回结果if sum(inDict.values())!=0:return -1# print("t3",cnt)return cnt

4.执行结果


http://www.hkcw.cn/article/FeLYmcDfya.shtml

相关文章

DAY 38 超大力王爱学Python

知识点回顾: Dataset类的__getitem__和__len__方法(本质是python的特殊方法)Dataloader类minist手写数据集的了解 作业:了解下cifar数据集,尝试获取其中一张图片 import torchvision from torchvision import datasets…

何秋亊 汪苏泷 演唱会造型争议道歉

6月2日,何秋亊因演唱会造型引发抄袭争议。何秋二工作室随后发文向汪苏泷及其团队道歉,解释称由于时间紧迫,演唱会筹备过程中与多个团队合作,并完全按照第三方提供的方案执行,未进行详细调查。工作室表示,将保留追究第三方法律责任的权利。责任编辑:zhangxiaohua

“苏超”爆火带动足球概念股走高 赛事热度超预期

6月3日,市场低开高走迎来节后开门红,创业板指领涨。A股半天成交额为7640.07亿元,较上个交易日减少76.72亿元。盘面上,市场热点良性轮动,个股涨多跌少,全市场超过3400只个股上涨。截至午间收盘,沪指涨0.48%,深成指涨0.35%,创业板指涨0.73%。新消费概念股再度大涨,美容…

酱园弄第一部海报细节 民国奇案再现荧幕

《酱园弄》第一部《酱园弄悬案》定档于6月21日,并发布了定档海报和角色剧照。海报中,章子怡饰演的詹周氏身穿染血旗袍站在中央,周围是各色人物,底部报纸的文字揭示了案件的轰动性。地上的血迹、尸体以及提包中隐约可见的尸首,再加上詹周氏手臂上的伤痕和王传君饰演的大块头…

DAY01:【ML 第三弹】基本概念和建模流程

1、机器学习基本概念 1.1 模型训练 模型评估指标:用于评估模型实际效果的数值型指标,如准确率模型参数:对模型最终输出结果有影响的模型关键指标,如自变量加权求和汇总过程中的权重模型训练:指通过不断的数据输入、模…

俄乌欧都开始“哄”特朗普:当特朗普成为和平的障碍,俄乌欧都开始“哄”他!

俄乌欧都开始“哄”特朗普。当地时间6月2日,俄乌在土耳其伊斯坦布尔进行了第二轮直接谈判。双方代表团的谈判持续了一个多小时。据央视新闻报道,土耳其总统埃尔多安表示本次谈判取得了“重大成果”。俄乌双方就大规模换俘、交换阵亡士兵遗体等问题达成一致。双方代表团团长在…

香港一银行发生持刀抢劫案 职员受伤匪徒携款逃逸

香港一银行发生持刀抢劫案 职员受伤匪徒携款逃逸!6月2日,香港恒生银行沙田第一城分行发生了一起持刀抢劫案。一名劫匪进入银行后,持刀威胁银行职员并劫走约30余万元港币及少量外币,随后逃离现场。案件中有一名职员颈部受轻伤,被送往医院救治后已出院。当天17时许,警方接到…

中国女排年轻选手备受期待 新锐球员引关注

距离世界女排联赛开幕还有一天,中国女排、泰国女排、法国女排、波兰女排、土耳其女排以及比利时队参加了赛前发布会。中国女排全新入队的新锐球员备受关注。谈到本届比赛,中国女排主教练赵勇表示很高兴能在北京参加世界女排联赛首站比赛,对后续比赛充满期待。他表示中国女排…

全国网友都在偶遇高考试卷押运车!

全国网友都在偶遇高考试卷押运车。2025届高考试卷押运中,警车开道,武警护航,全程北斗跟踪。祝所有高考生《金榜题名》。近日,有网友称在高速上遇到高考试卷押送车队:16辆邮政车运送,4辆警车全程护航。责任编辑:0882

现场:居民喝退横穿铁轨男子火车瞬间驶过!

居民喝退横穿铁轨男子火车瞬间驶过。6月3日,重庆,龚先生发现一外地男子欲横穿铁轨,立即大声喝止。该男子后退几步后停止行动,此时火车驶过。居民喝退横穿铁轨男子火车瞬间驶过居民喝退横穿铁轨男子火车瞬间驶过居民喝退横穿铁轨男子火车瞬间驶过责任编辑:0882

游戏版号发放再创新高 行业复苏势头强劲

6月3日,游戏板块早盘强势拉升,巨人网络、电魂网络涨停,掌趣科技涨超14%,浙数文化、完美世界、吉比特等跟涨。国家新闻出版署近日发布了5月份国产网络游戏和进口网络游戏审批信息,共有130款国产网络游戏获得版号,14款进口网络游戏获版号。5月份合计发放版号达到144个,刷新…

MyBatis04:SpringBoot整合MyBatis——多表关联|延迟加载|MyBatisX插件|SQL注解

目录 一、多表关联 1、数据库表结构 2、javaBean类 3、mapper接口 4、sqlMapper文件 5、测试 二、延迟加载 1、解决什么问题 2、嵌套查询 3、延迟加载 三、逆向工程MybatisX插件 1、下载插件 1. 通过 JetBrains 插件市场下载(推荐) 2. 手动…

简单工厂模式

简单工厂模式(Simple Factory Pattern) 简单工厂模式(又称静态工厂模式)是一种创建型设计模式,它通过一个工厂类来封装对象的创建逻辑,客户端无需直接实例化具体类,而是通过工厂类获取所需对象…

司机回应冲入起火麦地抢收 救人救麦两不误

司机回应冲入起火麦地抢收 救人救麦两不误!6月1日,一段“男子开收割机冲入起火麦地抢收”的视频在网上引起广泛关注。视频中,不远处的麦田里浓烟滚滚,多处燃起火焰,火势借风力不断蔓延。这时,一台收割机朝着浓烟方向驶去,快速在麦田中开辟出一条隔火带。视频中,收割机司…

肖战遇强则强的表演张力 藏海复仇之路燃爆演技

肖战遇强则强的表演张力 藏海复仇之路燃爆演技。《藏海传》开篇即是一场灭门惨案,复仇之路充满荆棘,所遇之人可能皆为利用,真假难辨。肖战在剧中展现了细腻的演技,完美呈现了角色复杂的内心世界。从复仇少年到心怀天下的成长过程极具张力,在肖战的演绎下,观众可以看到藏海…

韩国大选最早明天凌晨有结果 五位候选人角逐总统

韩国第21届总统大选投票于6月3日6时正式开始,全国共设有14295个投票站。未参与提前投票的选民可凭身份证件前往指定投票站进行投票,投票将于当天20时结束。本次大选共有7位候选人登记参选,但其中两位先后宣布退出并支持国民力量党候选人金文洙,因此最终有5位候选人角逐总统…

小米YU7不开门亮相车展 观众排长龙 现象级热度引发关注

小米YU7不开门亮相车展 观众排长龙 现象级热度引发关注!2025年粤港澳大湾区车展上,小米汽车的展位异常热闹。6号馆06展位前,从早到晚都排着长队,不少观众顶着深圳三十五度的烈日等待,只为亲眼看看那台传说中“吊打Model Y”的小米YU7。有位带着孩子的宝妈在采访中说:“本…

【数据集】不同情景下全球城市扩张(2050年)

目录 数据概述数据输入模型架构数据下载参考数据概述 论文-J2019-Projecting global urban land expansion and heat island intensification through 2050 数据输入 使用了四个数据源:来自全球人类住区层的城市土地范围(Pesaresi等人,2013年)、来自联合国的城市人口(联合…

华为IPD流程研学:162页 华为研发IPD管理流程详解【附全文阅读】

该文档围绕华为研发 IPD 管理流程展开,核心是通过集成产品开发(IPD)体系优化产品开发全流程。首先介绍需求管理流程(OR),强调统一需求收集与管理以提升交付质量;市场管理流程(MM&…

三步锁定光储融合黄金配置

你是否遇到过这样的场景?花百万装光伏,结果因阴影遮挡发电量比预期少20%;配了储能却没赚到峰谷价差,反而因容量过剩多花30万…… 传统光储规划就像蒙眼开车,而光储模拟系统正在改变这一切。 一、多维度参数配置 1.量身…