Re: [闲聊] 每日leetcode抄袭 (忏悔)

楼主: oinishere (是oin捏)   2024-04-23 12:54:40
※ 引述 《Rushia (早瀬ユウカの体操服)》 之铭言:
:  
: https://leetcode.com/problems/minimum-height-trees/description
: 310. Minimum Height Trees
: 给你一个数字 n 表示节点数,和一个表示边关系的阵列 edges,如果把某个节点作为roo
t
: 有最小的树高,那么他被称为Minimum Height Tree(MHT),求出所有的MHT根节点有哪些

:  
: 思路:
: 1.最简单的方法就是对编号0~n-1的所有顶点做BFS,然后留下高度最小的,但是他测资
: 2*10^4,我去死。
:  
: 2.这题没看过很难解出来,每个树都有叶子节点,我们把所有非叶子节点匡起来:
: https://i.imgur.com/c7f3DyC.png
: 我们会发现从叶子节点出发一定不可能是MHT,因为他需要穿过中间圈起来的非叶节点
: 再到另一边的叶节点这样就至少高度为3了,相反的,我们如果从非叶节点往外出发的
: 话高度只为二,所以我们的目标就是找出红色部分的节点有哪些。
:  
: 3.我们将那些不可能是MHT的节点都删除:
: https://i.imgur.com/gGG26HF.png
: 我们发现删除后的图一样可以分成叶子节点和非叶节点。
: 不断的删除叶子节点后,我们可以得到不存在非叶节点的图:
: https://i.imgur.com/qoGraPm.png
: 这就是我们要找的MHT root。
:  
: 4.实现方式大概就几步:
: 建图 -> 算入度 -> 把入度为1(叶子节点)的节点加到queue BFS -> BFS时每次都把
: 该点删除并更新入度,如果删除完的点入度为 1 就表示删除后找到新的叶节点,放入
: queue 不断BFS -> 返回最后剩下的叶节点
:  
: 5.你辛苦的写完BFS送出之后马上喷一个WA,因为 n=1 是 corner case 要直接返回 [0]
: (干)。
:
思路:
没有
解法:
没有
我写不出来
这是什么干题
我就跑去看解答了
ㄏㄏ
我要忏悔
1010
作者: digua (地瓜)   2024-04-23 12:55:00
大师
作者: ErLKYgyLFzh (b65364700)   2024-04-23 12:56:00
不知忏悔
楼主: oinishere (是oin捏)   2024-04-23 12:56:00
我没写出来 大师你ㄇ
作者: NTUtriangle (国立台湾大学联盟)   2024-04-23 12:57:00
:(
作者: wu10200512 (廷廷)   2024-04-23 12:58:00
hard不用会啦
作者: fairymomo (摩摩)   2024-04-23 12:58:00
楼主: oinishere (是oin捏)   2024-04-23 12:59:00
这题 medium
作者: sustainer123 (caster)   2024-04-23 13:00:00
我也想不出来 难爆
作者: LoKingSer (鲁王蛇)   2024-04-23 13:00:00
作者: ILoveNTR (爱绿绿)   2024-04-23 13:03:00
作者: pysunsun (屁眼松松)   2024-04-23 13:05:00
作者: jkl85621 (红玉)   2024-04-23 13:07:00
作者: KitsuNixya (尼特萝)   2024-04-23 13:24:00

Links booklink

Contact Us: admin [ a t ] ucptt.com