一、笔记部分

思路:

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) 博主可答疑该问题相关推荐

  1. 力扣(LeetCode)打卡刷题交流计划(长期维护)

    前言 忙忙活活暑期过去了一半,在即将升学的日子里,打算干点什么东西,由于实力以及经验的欠缺没有创群和大家讨论,但我更喜欢以更实在的方式--能作点什么--和大家一起从0打开力扣LeetCode, 对,没 ...

  2. Leetcode-How-What 力扣Leetcode刷题指南

    Leetcode-How-What 力扣Leetcode刷题指南 About the way how to use Leetcode wisely for preparing the intervie ...

  3. 力扣(LeetCode)刷题,简单+中等题(第35期)

    力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升. 第1题:解码异或后的排列 试题要求如下: 回答(C语言): /*** Note: ...

  4. 力扣(LeetCode)刷题,简单+中等题(第34期)

    目录 第1题:整数转罗马数字 第2题:电话号码的字母组合 第3题:二叉树的所有路径 第4题:砖墙 第5题:下一个排列 第6题:括号生成 第7题:删除并获得点数 第8题:全排列 第9题:颜色分类 第10 ...

  5. 力扣(LeetCode)刷题,简单+中等题(第33期)

    目录 第1题:Z 字形变换 第2题:删除字符串中的所有相邻重复项 第3题:基本计算器 II 第4题:螺旋矩阵 第5题:螺旋矩阵 II 第6题:盛最多水的容器 第7题:删除有序数组中的重复项 II 第8 ...

  6. 力扣(LeetCode)刷题,简单+中等题(第32期)

    目录 第1题:数组的度 第2题:托普利茨矩阵 第3题:爱生气的书店老板 第4题:翻转图像 第5题:有效的数独 第6题:无重复字符的最长子串 第7题:区域和检索 - 数组不可变 第8题:二维区域和检索 ...

  7. 力扣(LeetCode)刷题,简单+中等题(第31期)

    目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题 ...

  8. 力扣(LeetCode)刷题,简单+中等题(第30期)

    目录 第1题:单词规律 第2题:找不同 第3题:在排序数组中查找元素的第一个和最后一个位置 第4题:使用最小花费爬楼梯 第5题:寻找峰值 第6题:字符串中的第一个唯一字符 第7题:两个数组的交集 II ...

  9. 力扣(LeetCode)刷题,简单+中等题(第29期)

    目录 第1题:分割数组为连续子序列 第2题:翻转矩阵后的得分 第3题:寻找旋转排序数组中的最小值 第4题:乘积最大子数组 第5题:不同路径 第6题:判断路径是否相交 第7题:摆动序列 第8题:单调递增 ...

  10. 力扣(LeetCode)刷题,简单+中等题(第28期)

    目录 第1题:翻转单词顺序 第2题:顺时针打印矩阵 第3题:总持续时间可被 60 整除的歌曲 第4题:字符串的最大公因子 第5题:上升下降字符串 第6题:将数组分成和相等的三个部分 第7题:可被 5 ...

最新文章

  1. 数据蒋堂 | 时序数据从分表到分库
  2. 分类算法——朴素贝叶斯分类
  3. VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池
  4. java如何创造一个整数的类_【技术干货】Java 面试宝典:Java 基础部分(1)
  5. Nutch 使用metadata plugin捕获页面中的meta标签数据
  6. css固定表格表头(各浏览器通用)
  7. 【机器学习】线性回归之Normal Equation(矩阵求导与线性代数视角)
  8. ConcurrentHashMap,一个更快的HashMap
  9. win7创建虚拟无线网络
  10. java基础—自定义一个比较器,按照字符串的长度升序的方法来比较字符串进行储存(java集合三)
  11. Facebook开源问答系统DrQA:基于单一信源回答开放域提问
  12. linux下编译upx ucl
  13. Inf and NaN cannot be JSON encoded
  14. App开发国内常用的应用市场
  15. CINTA作业四:群、子群
  16. 蒸馏 (distill_Distill-BERT:使用BERT进行更智能的文本生成
  17. oppoa83t怎么升级android8,OPPO A83t刷机教程_OPPO A83t专用rom包下载
  18. sonix c语言 pdf,松翰c语言(项目)例程(Sonix C language routines (project)).doc
  19. C语言中几种输入方式
  20. 30多岁零基础想转行学编程,来得及吗?

热门文章

  1. 活用锚点解决的问题(由一个简单应用想到的许多)
  2. Vector和Arraylist的区别
  3. Linux vip地址通信原理,IPv6的组播地址(掌握IPv6通信原理的关键知识点)
  4. mysql把字段名批量改为大写_MySQL批量将表名或者列名大小写转换
  5. opengl代码实例_一步步学OpenGL(22) -《OpenGL使用Assimp库导入3d模型》
  6. 小知识--DOS命令1
  7. kaldi在java中运行_Kaldi语音识别CVTE模型实战
  8. 东芝2000ac废粉盒怎么二次利用_嘉兴秀洲区工业垃圾怎么处理
  9. pandas输出到excel_精通Pandas,从零基础到中级运用,看这一篇就够了
  10. 软件测试精要,软件测试精要.ppt