华为4.26笔试

大二萌新表示好难啊。。看大佬们解析说的高级技巧我都没见过只用了最简单的数据结构

刷了160多道力扣,结果发现导致自己不会处理输入的数据,笔试的时候花了很久时间

第一道题用了一个map。key是某个module,value是以这个module为依赖的其他module组成的vector。从没有以他为依赖的module们开始一直迭代,记录visited,到最后如果visited里面还有没visit到的,就说明有环~
但是只beat了95%说cpu用完了,我也不知道这是啥意思该咋debug 不知道这是算95分还是0分

第二题。我用queue数据结构当作buffer的。但是c++的queue不能遍历就很难搞。。于是我想的办法是,如果要删除queue中某一个元素,不去真的删除他,而是给他的标记数加一。用两个map,一个记录在不在buffer中,另一个记录标记数。最后beat100%了!

第三题直接输出0然后beat3%哈哈
全部评论
400道Java选手 被第二道直接心态搞无 已寄
3 回复 分享
发布于 2023-04-26 21:35 上海
第一题两个unordered_map,分别记录依赖和被依赖的id。 第二个题用双向链表+map。
2 回复 分享
发布于 2023-04-26 21:47 福建
请问下为什么要两个map呢?记录标记数的map是不是也是用来判断在不在buffer中的?
点赞 回复 分享
发布于 2023-04-26 22:07 江苏
大佬,你第二题两个map是怎么判断的,有代码吗
点赞 回复 分享
发布于 2023-04-26 22:00 江苏
第一题是拓扑排序模板题,*****
点赞 回复 分享
发布于 2023-04-26 21:54 湖北
大二还可以投华子实习吗?
点赞 回复 分享
发布于 2023-04-26 21:44 湖北

相关推荐

评论
5
6
分享

创作者周榜

更多
牛客网
牛客企业服务