写一个 Kahn 拓扑排序

写一个 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 算法怎么做

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

阅读更多 →