207.课程表(力扣leetcode) 博主可答疑该问题
一、笔记部分
思路:
1.一个需要前置的题目,所以去找前面的课程要求,直到找到前面相同的。深度搜索与广度搜索都可以,上一个用的是广度搜索,那么这次用深度搜索。 比如A需要B课程为基础,那么B肯定是在A的前面。
进行搜索的时候一定要确定状态有几种。访问过此点,没有访问过此点。
2.其中还需要判断是否符合总课程数。所以需要计算出个数。
3.因为dfs都要另外函数,所以不能用直接传入的数组,因为这个数组在dfs函数里不起作用,所以需要在外部设置一个二维数组。
所以深度优先搜索要把三件套都设置在外面。
1.深度优先搜索的三件套:1.新建数组 2.访问标记 3.有效结果
2.先把新建数组的框架搞起来
3.将每个基础的课延伸课压入
4.每个课作为基础课,开一直深度搜索
5.其中一个基础课进入dfs递归
6.判断是否为环
7.如果无效了直接返回即可了,节约时间。
8.当前这个基础课没有环,那么重置状态,下一个课来搜索这个课是可以被访问的。
二、图类型的高频面试题汇总:
https://blog.csdn.net/qq_40262372/article/details/113449001
三、各种类型的高频面试题汇总:
https://blog.csdn.net/qq_40262372/article/details/112556249
四、如有疑问可加QQ群讨论:725936761 博主免费答疑
207.课程表(力扣leetcode) 博主可答疑该问题相关推荐
- 力扣(LeetCode)打卡刷题交流计划(长期维护)
前言 忙忙活活暑期过去了一半,在即将升学的日子里,打算干点什么东西,由于实力以及经验的欠缺没有创群和大家讨论,但我更喜欢以更实在的方式--能作点什么--和大家一起从0打开力扣LeetCode, 对,没 ...
- Leetcode-How-What 力扣Leetcode刷题指南
Leetcode-How-What 力扣Leetcode刷题指南 About the way how to use Leetcode wisely for preparing the intervie ...
- 力扣(LeetCode)刷题,简单+中等题(第35期)
力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升. 第1题:解码异或后的排列 试题要求如下: 回答(C语言): /*** Note: ...
- 力扣(LeetCode)刷题,简单+中等题(第34期)
目录 第1题:整数转罗马数字 第2题:电话号码的字母组合 第3题:二叉树的所有路径 第4题:砖墙 第5题:下一个排列 第6题:括号生成 第7题:删除并获得点数 第8题:全排列 第9题:颜色分类 第10 ...
- 力扣(LeetCode)刷题,简单+中等题(第33期)
目录 第1题:Z 字形变换 第2题:删除字符串中的所有相邻重复项 第3题:基本计算器 II 第4题:螺旋矩阵 第5题:螺旋矩阵 II 第6题:盛最多水的容器 第7题:删除有序数组中的重复项 II 第8 ...
- 力扣(LeetCode)刷题,简单+中等题(第32期)
目录 第1题:数组的度 第2题:托普利茨矩阵 第3题:爱生气的书店老板 第4题:翻转图像 第5题:有效的数独 第6题:无重复字符的最长子串 第7题:区域和检索 - 数组不可变 第8题:二维区域和检索 ...
- 力扣(LeetCode)刷题,简单+中等题(第31期)
目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题 ...
- 力扣(LeetCode)刷题,简单+中等题(第30期)
目录 第1题:单词规律 第2题:找不同 第3题:在排序数组中查找元素的第一个和最后一个位置 第4题:使用最小花费爬楼梯 第5题:寻找峰值 第6题:字符串中的第一个唯一字符 第7题:两个数组的交集 II ...
- 力扣(LeetCode)刷题,简单+中等题(第29期)
目录 第1题:分割数组为连续子序列 第2题:翻转矩阵后的得分 第3题:寻找旋转排序数组中的最小值 第4题:乘积最大子数组 第5题:不同路径 第6题:判断路径是否相交 第7题:摆动序列 第8题:单调递增 ...
- 力扣(LeetCode)刷题,简单+中等题(第28期)
目录 第1题:翻转单词顺序 第2题:顺时针打印矩阵 第3题:总持续时间可被 60 整除的歌曲 第4题:字符串的最大公因子 第5题:上升下降字符串 第6题:将数组分成和相等的三个部分 第7题:可被 5 ...
最新文章
- 数据蒋堂 | 时序数据从分表到分库
- 分类算法——朴素贝叶斯分类
- VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池
- java如何创造一个整数的类_【技术干货】Java 面试宝典:Java 基础部分(1)
- Nutch 使用metadata plugin捕获页面中的meta标签数据
- css固定表格表头(各浏览器通用)
- 【机器学习】线性回归之Normal Equation(矩阵求导与线性代数视角)
- ConcurrentHashMap,一个更快的HashMap
- win7创建虚拟无线网络
- java基础—自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存(java集合三)
- Facebook开源问答系统DrQA:基于单一信源回答开放域提问
- linux下编译upx ucl
- Inf and NaN cannot be JSON encoded
- App开发国内常用的应用市场
- CINTA作业四:群、子群
- 蒸馏 (distill_Distill-BERT:使用BERT进行更智能的文本生成
- oppoa83t怎么升级android8,OPPO A83t刷机教程_OPPO A83t专用rom包下载
- sonix c语言 pdf,松翰c语言(项目)例程(Sonix C language routines (project)).doc
- C语言中几种输入方式
- 30多岁零基础想转行学编程,来得及吗?
热门文章
- 活用锚点解决的问题(由一个简单应用想到的许多)
- Vector和Arraylist的区别
- Linux vip地址通信原理,IPv6的组播地址(掌握IPv6通信原理的关键知识点)
- mysql把字段名批量改为大写_MySQL批量将表名或者列名大小写转换
- opengl代码实例_一步步学OpenGL(22) -《OpenGL使用Assimp库导入3d模型》
- 小知识--DOS命令1
- kaldi在java中运行_Kaldi语音识别CVTE模型实战
- 东芝2000ac废粉盒怎么二次利用_嘉兴秀洲区工业垃圾怎么处理
- pandas输出到excel_精通Pandas,从零基础到中级运用,看这一篇就够了
- 软件测试精要,软件测试精要.ppt