作者saladim (杀拉顶)
看板Prob_Solve
标题[问题] LeetCode 2608. Shortest Cycle in a Graph
时间Sun May 21 03:13:48 2023
https://leetcode.com/problems/shortest-cycle-in-a-graph/
最近在解这题 我自己是用DFS+BFS解掉 但是performance不是很好
所以看了一下最快的某个解法 但是其中有一行看不懂为什麽是这样写
附上他的code跟其中一个case(因为最快解法的出现次序会变动):
https://pastebin.com/sQWG6L8q
case:
n = 6,
edges = [[4,1],[3,2],[5,0],[3,0],[4,0],[2,1],[5,1]]
看不懂第36行写这样的理论基础是什麽? 为什麽这时候就知道要再减一?
而且他检查的是第一根input edge的node, 跟traverse的顺序也不一样.....
做了个实验 如果我只是把case里面的编号4跟5对调 跟原图是一模一样 traverse顺序
也一样 不过这段code会wrong answer........
想不到线索 请各位帮忙解惑一下 谢谢~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.164.102.233 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Prob_Solve/M.1684610032.A.563.html
※ 编辑: saladim (1.164.102.233 台湾), 05/21/2023 03:37:14