写一个 Kahn 拓扑排序
补全 kahn:入度为 0 的点先进队列,取出一个就把它指向的点入度各减一,减到 0 就入队。
阅读更多 →
先把入度算出来
补全 indeg:返回一个列表,第 i 项是 i 号点的入度。
阅读更多 →
排出来的拓扑序
用 Kahn 算法,每次从入度为 0 的点里取编号最小的。运行下面这段程序: from collections import deque def kahn(g): d = {u: 0 for
阅读更多 →
每个点的入度是多少
六门课的先修关系:0→2、1→2、2→3、2→4、3→5、4→5。运行下面这段程序: def indeg(g): d = {u: 0 for u in g} for u in g:
阅读更多 →
Kahn 算法怎么做
Kahn 求拓扑序的做法是【0】。
阅读更多 →
拓扑序是什么
一张有向图的拓扑序指的是【0】。
阅读更多 →
⚠️ 四连通和八连通,岛数不一样
同一张网格跑两遍:一次只走上下左右,一次连斜着也算。 把两个岛数拼起来输出(四连通在前)。
阅读更多 →
写一个洪泛填充
补全 flood:从 (si,sj) 出发,把连着的同色格子都改成 new,返回改了几格。
阅读更多 →
数出有几个岛
补全 islands:对每块还没走过的陆地起一次遍历。dirs 是允许走的方向。输出四连通下的岛数。
阅读更多 →
从左上角洪泛,改了几格
从 (0,0) 出发,把连着的 1 全改成 2。运行下面这段程序: def flood(g, si, sj, new): m = len(g) n = len(g[0]) ol
阅读更多 →