拓扑排序(Topological Sort)
文章平均质量分 85
CP Coding
这个作者很懒,什么都没留下…
展开
-
LeetCode 851. Loud and Rich - 拓扑排序(Topological Sort)系列题10
这题跟前面的修课题特别是LeetCode 1462. Course Schedule IV非常类似。题目要求的是,对任意一个人,找出比这个人钱多或者一样多但quiet值最小的那个人(可以自己本身)。由此我们知道人与人之间根据富有(richer数组)情况存在先后关系,经过拓扑排序就可以知道这种顺序关系,也可以知道所有比自己富有的人(即一个节点的所有父节点),然后根据quiet数组找出quiet值最小的那个人(也可能是自己)原创 2021-12-15 12:07:54 · 726 阅读 · 0 评论 -
LeetCode 310. Minimum Height Trees - 拓扑排序(Topological Sort)系列题9
这题给的是无向图,很难想到用拓扑排序(Topological Sort)法,但仔细分析题目会发现其实可以拓扑排序的思想来解答。题目说无向图满足一棵树的条件,即所有节点连通且不存在环。可以直观的看出只有一条边的点肯定是树的页节点,如果树中的节点大于等于3个,那么叶节点就不可能是根节点,根节点肯定是所有叶节点之间的某一个节点。原创 2021-12-15 03:24:59 · 146 阅读 · 0 评论 -
LeetCode 329. Longest Increasing Path in a Matrix - 拓扑排序(Topological Sort)系列题8
又是一题hard的题,之所以为hard是因为不容易发现可以用拓扑排序(Topological Sort)法。仔细读两遍题目会发现其实它符合拓扑排序的特性,路径是递增的说明矩阵的点是有前后顺序关系的,如果把矩阵看成一个图,矩阵中的一个点跟值比它大的邻居(上下左右)点存在先后顺序关系形成一条有向边,边从小数字指向大数字,因此大的数字的入度加1。遍历整个矩阵遇到满足条件的边,计算大数入度,由于矩阵中的点只可能跟邻居点构成边,因此不需要另外创建一个图。原创 2021-12-14 03:32:31 · 311 阅读 · 0 评论 -
LeetCode 269. Alien Dictionary - 拓扑排序(Topological Sort)系列题7
这道题被标注为hard,但是换种问法那就不难了。可以把原题变成如下问法,有一堆课程以子母为代号,这些课程中有些是有先后顺序关系,比如课程c必须等课程d先修完才能修,而先后顺序是由输入的一个排好序的字符串数组决定。摇身一变就跟LeetCode 444. Sequence Reconstruction相似了,可以用拓扑排序(Topological Sort)来解答。原创 2021-12-13 21:42:44 · 305 阅读 · 0 评论 -
LeetCode 1136. Parallel Courses - 拓扑排序(Topological Sort)系列题6
又是一道修课题,还是LeetCode 444. Sequence Reconstruction的拓展,这道题不仅问能否修完所有课还问最少需要几学期能修完所有课。我们知道拓扑排序(Topological Sort)算法里用到了BFS,而BFS又是求最短路径最常用的方法,因此这道题用拓扑排序(Topological Sort)来解答再合适不过。原创 2021-12-13 03:53:34 · 329 阅读 · 0 评论 -
LeetCode 802. Find Eventual Safe States - 拓扑排序(Topological Sort)系列题5
这题跟前面刷过的拓扑排序(Topological Sort)题比如LeetCode 444. Sequence Reconstruction略有不同,是拓扑排序(Topological Sort)的换一种考法,也是一道考验我们是否彻底掌握拓扑排序的经典题。原创 2021-12-13 01:24:33 · 397 阅读 · 0 评论 -
LeetCode 444. Sequence Reconstruction - 拓扑排序(Topological Sort)系列题4
题目大意是,给定一个数字序列,然后再给一堆子序列,问通过这些子序列是否能够唯一构建一个跟给定序列一模一样的序列。仔细阅读题目会发现跟修课程题LeetCode 207. Course Schedule有点类似,因此这题也可以用拓扑排序(Topological Sort)来解答。原创 2021-12-12 01:34:22 · 254 阅读 · 0 评论 -
LeetCode 1462. Course Schedule IV - 拓扑排序(Topological Sort)系列题3
还是关于课程关系的题,是LeetCode 207. Course Schedule和LeetCode 210. Course Schedule II的延续,因此方法也一样,可以用拓扑排序(Topological Sort)来解答。原创 2021-12-11 01:54:25 · 418 阅读 · 0 评论 -
LeetCode 210. Course Schedule II - 拓扑排序(Topological Sort)系列题2
这题跟LeetCode 207. Course Schedule几乎一模一样,只是要求返回的结果不一样。两题一起作为拓扑排序的经典入门题。解题思路参考LeetCode 207. Course Schedule, 这题要求返回修课程的顺序,只要每次从队列里取出课程时,把课程编号放入结果中即可。原创 2021-12-10 22:27:04 · 458 阅读 · 0 评论 -
LeetCode 207. Course Schedule - 拓扑排序(Topological Sort)系列题1
定义记不住不重要,只要知道拓扑排序(Topological Sort)通常是用来排序具有依赖关系的任务。在LeetCode中207. Course Schedule是拓扑排序最经典的一题。原创 2021-12-10 13:25:51 · 668 阅读 · 0 评论