关注
第3题个人想法,(Java):用图表示各个任务之间的关系,图最终会是directed graph(如: a -> b 代表完成a才能完成b,这里b是a的邻居而a不是b的邻居(也不可能是,否则将死循环))(这里我会不停的使用node和任务这两个名词,它们代表一样的东西)
1)创造一个数组叫作neighbours, neighbours[i] 是一个LinkedList<Integer> 代表i的所有neighbour nodes.
2)创造一个数组叫做result, 用于记录最终任务顺序。在这里,添加任务时从数组的最后端开始添加,也就是说先添加最后完成的任务(原因在第4步)
3)创建一个数组visited, visited[i] = true 代表任务i/node i已经被加入result中
4) for i = 0,1,2,...,n, 对于node i 我们执行dfs(i) (如果visited[i] = true, 直接skip). 但这里需要对dfs稍做改变。改变为: 对于所有node i,只有当对其所有邻居都执行完dfs并回溯到自己本身(node i)时,才能把任务i添加到result中(记得是由后往前添加)并且set visited[i] = true。因为这样的话,对于所有node来说,当我们回溯到某个node时说明此node能解锁的任务都已添加到result了,这时我们可以在不影响正确性的情况下将此node添加到result中。
5)return result;
设n = 任务数量
设v = input 数组的数量 (也就是在以上算法中的number of directed edges)
时间复杂度:O(v + n) = O(v) (因为v >= n)
查看原帖
1 2
相关推荐
05-08 21:34
华中科技大学 交通运输类 点赞 评论 收藏
转发
投递华为等公司10个岗位 >
点赞 评论 收藏
转发
点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
- 1... 盲审已过,答辩已过,工作已签3.1W
- 2... 聪明人看的Java后端入门路线(应该比大多数高手给的靠谱)9181
- 3... 【有奖活动】浅聊一下我的实习⭐8965
- 4... 实习难求——做个总结8749
- 5... pcg qq 一面8118
- 6... 腾讯一面凉经 5.166271
- 7... 25届暑期实习中后期更容易拿offer5274
- 8... 26届菜鸡投了一个月大厂日常,0面试绷不住了呀。听说9月后机会可能会多起来,感觉要被迫继续沉淀了之前和导师聊,说找到大厂实习的话可以去,对就业帮助大,小厂的话就emmm投了快一个月,老板上打招呼绝大数送达未读,有几个交换简历后就没了下文。官网投递全都卡在初筛没有动静,之前难得快手有个岗到面试环节了,但是不约面卡我半个月,可能没hc了前几天又直接终止流程了一个月前还没开始背八股,那时候光是看看牛友们的面经就汗流浃背了,于是这个月抱着“万一明天就约面,我什么都不会就完蛋了的心态”猛刷一个月算法题和八股,现在看常规面经已经能答百分之七八十了,然而中途一个面试都没有。偶尔刷到和我技术栈、项目、背景差不多的同学的面经,问到的内容我都能回答上,心里会想要是参加面试的是我就好了不知道是不是身上debuff太多了:26届+外卖+点评+本科非科班(但我觉得双9应该不至于没有面试吧)或许只是差一点点运气呢?(呜呜呜最好是)非要说焦虑的话其实还轮不到我还有不少2425届的牛友们也在煎熬。但就是有点emo吧,看着寝室楼越搬越空,感觉大家都去实习了,舍友也走了一半,今天一个人在寝室空荡荡的。不过学院没一个月前冷清了,好像是研三的学长学姐们回来答辩了。感觉大家都进入下一个阶段了,但是自己还在原地踏步...最近看八股越来越浮躁了,一堆知识点翻来覆去看,没有那种学习新内容的踏实感,但是不敢懈怠,每天都觉得明天可能就会迎来一场面试。但是今天觉得,接下来可能还是得静下心来继续沉淀...或许学学微服务?或者做个新项目?好了,吐槽结束,心情好一点了4682
- 9... 菜鸟一面 无项目 无手撕 1hour2909
- 10... 求各位大佬给个建议吧2558
正在热议
# 牛客帮帮团来啦!有问必答 #
775440次浏览 12176人参与
# 机械制造薪资爆料 #
313552次浏览 3616人参与
# 海康威视求职进展汇总 #
97333次浏览 1175人参与
# 毕业租房也有小确幸 #
26665次浏览 1477人参与
# 夸夸我的求职搭子 #
65914次浏览 808人参与
# 荣耀求职进展汇总 #
67860次浏览 680人参与
# 宁德时代求职进展汇总 #
36310次浏览 400人参与
# 你的工作大概什么时候入职? #
4180次浏览 52人参与
# 简历无回复,你会继续海投还是优化再投? #
22400次浏览 316人参与
# 非技术岗是怎么找实习的 #
76996次浏览 1430人参与
# 打工人的辛酸 #
8955次浏览 146人参与
# 实习生应该准时下班吗 #
79472次浏览 587人参与
# 本周投递记录 #
201927次浏览 5125人参与
# 投递实习岗位前的准备 #
618594次浏览 11024人参与
# 找工作中的意难平 #
194105次浏览 3441人参与
# 产品实习,你更倾向大公司or小公司 #
38484次浏览 592人参与
# 谈薪时HR压价该怎么应对 #
38035次浏览 259人参与
# Offer比较,你最看重什么? #
52468次浏览 501人参与
# 如何写一份好简历 #
269705次浏览 4037人参与
# 学历对求职的影响 #
138473次浏览 1577人参与