一亩三分地

 找回密码 注册账号

扫描二维码登录本站


码农求职神器Triplebyte
不用海投
内推多家公司面试

Total Comp Calculator
输入offer信息
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250

深入浅出AB Test
从入门到精通
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
查看: 2161|回复: 18
收起左侧

[高频题] 有向图最短Cycle

[复制链接] |试试Instant~
我的人缘0

分享帖子到朋友圈
14417335 发表于 2019-3-13 01:10:15 | 显示全部楼层 |阅读模式
本楼: 👍   100% (3)
 
 
0% (0)   👎
全局: 👍   99% (417)
 
 
0% (3)    👎
高频题
公司名称: Google
其他公司名称: -

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?注册账号

x


游客,本帖隐藏的内容需要积分高于 150 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.

评分

参与人数 1大米 +3 收起 理由
myhong + 3 很有用的信息!

查看全部评分


上一篇:边工作边刷题真的整个人都难受
下一篇:求二叉树 叶子结点的位置编号
我的人缘0
tbian 发表于 2019-3-22 04:40:17 | 显示全部楼层
本楼: 👍   0% (0)
 
 
100% (1)   👎
全局: 👍   92% (104)
 
 
7% (8)    👎
莫可可小姐 发表于 2019-3-21 05:31
搜了一下大家的做法,用floyd 写法比较简单,应该是O(n^3), SCC写法比较难应该是O(V+E)约等于O(n^2)

can you elaborate it? Thanks!
Strong connected component is different from cycle.
回复

使用道具 举报

我的人缘0
yl2762 发表于 2019-3-14 00:07:23 | 显示全部楼层
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   100% (24)
 
 
0% (0)    👎
可不可以这样:用Queue做广度优先搜索直到遍历到自身结点,就是最短。另外在加到queue的时候把bfs的parent结点也一起存,这样在bfs结束以后可以不断找parent得到路径,最后再把路径反转。

评分

参与人数 4大米 +6 收起 理由
gu4p + 1 给你点个赞!
孙行者 + 2 给你点个赞!
abc99 + 1 赞一个
lorixx + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

头像被屏蔽
我的人缘0
霍建华 发表于 2019-3-13 12:33:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

我的人缘0
莫可可小姐 发表于 2019-3-21 05:31:39 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (163)
 
 
1% (3)    👎
搜了一下大家的做法,用floyd 写法比较简单,应该是O(n^3), SCC写法比较难应该是O(V+E)约等于O(n^2)
回复

使用道具 举报

我的人缘0
莫可可小姐 发表于 2019-3-23 07:42:13 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (163)
 
 
1% (3)    👎
tbian 发表于 2019-3-22 04:40
can you elaborate it? Thanks!
Strong connected component is different from cycle.

你是对的,我考虑错了,SCC不能解决这个问题
回复

使用道具 举报

我的人缘0
admin 发表于 2019-3-27 02:30:35 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   93% (1517)
 
 
6% (103)    👎

关于双倍积分奖励算法题和系统设计题讨论的决定:

我们:
1. 希望能看到干货讨论;
2. 希望能看到好的代码(web端高级发帖模式下,@ 朋友右边的<> 可以选择多种代码)

版主 @14417335 负责审核加分,也请大家给好的回复加分 + 顶。
大家给30,我会跟进奖励30,double之;
大家给100,我也会跟进奖励100,double之。

很理解大家写代码、调试、写思路分析,很花时间。对于特别好的回复,还会有额外加分。

欢迎大家拿出好的题目讨论,选中了我会全站置顶。哪位同学起了好的题目/帖子,激发了干货讨论,也会获得一定的积分奖励。

欢迎大家踊跃参与。看到好的回复,也请大家顶一下,作为对别人积极参与讨论、热心分享的认可和鼓励。
其他可以获得双倍积分的题目:

在刷题版里选择高频题标签,链接:
https://www.1point3acres.com/bbs/forum.php?mod=forumdisplay&fid=84&filter=typeid&typeid=1019

大家看到LC没有的高频题,也请贴到刷题版里,又有大米又有赞。对于学弟学妹们也是功劳一件。举手之劳。谢谢大家的参与。


回复

使用道具 举报

我的人缘0
umialpha 发表于 2019-4-3 11:51:20 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   82% (97)
 
 
17% (20)    👎
网上大多数方法应该还是用dfs,如果面试官不介意的话,可以用dfs找出所有的cycle取最短的那条。时间复杂度是O(V + E)
回复

使用道具 举报

我的人缘0
umialpha 发表于 2019-4-3 12:03:09 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   82% (97)
 
 
17% (20)    👎
yl2762 发表于 2019-3-14 00:07
可不可以这样:用Queue做广度优先搜索直到遍历到自身结点,就是最短。另外在加到queue的时候把bfs的parent ...

bfs很难写对,比如考虑这样一个很简单的例子(1,2), (1,3),(3,2) 在做bfs的时候que里是[1,2,3]在遍历3的时候发现2已经遍历了,这个时候是有环还是没环呢?

补充内容 (2019-4-3 12:06):
dfs类似post-order-traverse。如果在访问后继节点时访问到了前驱节点,则一定有环。
bfs类似pre-order-traverse。在访问后继节点时访问到了前驱节点,你没法判断这个前驱节点一定有路径连接后继节点。

评分

参与人数 1大米 +1 收起 理由
yl2762 + 1 给你点个赞!

查看全部评分

回复

使用道具 举报

我的人缘0
jy_121 发表于 2019-4-8 11:29:26 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   96% (158)
 
 
3% (5)    👎
umialpha 发表于 2019-4-3 11:51
网上大多数方法应该还是用dfs,如果面试官不介意的话,可以用dfs找出所有的cycle取最短的那条。时间复杂度 ...

能详细说下如何dfs吗,O(V + E)的话怎么能在遍历时避免重复访问又记录环路呢?谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地

GMT+8, 2019-7-23 23:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表