请教一道题:有向图中循环的个数与最长循环

自己画了个丑图,这是个例子,1指向2,2指向1与3,3指向2与1。 求从1出发循环的个数与 最长循环长度。 最长循环 1,2,3   循环个数应该是3(有点不太记得)


我的思路是深度优先搜索,用一个栈存储已经走过的节点,如果节点已经在栈中那就出现了一个循环,并且不走它,走没有在栈中的节点,每走到一个没有在栈中的节点cnt就加一,如果这个节点指向的节点中有循环,那就cnt和max取最大值得到最长循环长度。
这个思路写出来的代码过示例没错,但是提交的时候只对了百分之9。 有没有大佬帮帮忙。
#算法题目求助##笔试题目#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务