华为04.26机试前两题

1. 寻常的BFS,相当于返回层数,但是最后要考虑是否能遍历到所有的模块,否则还是返回-1(这里卡了95%好一会,不知道友友们卡的95%是不是这个原因)

2. 没有使用LRU,使用了一个队列,对于指定ID的获取,使用了延迟删除的思想,所以需要标记ID是否存在;但是这还不够,因为延迟删除的关系导致队列中会出现多个相同的ID(用完有放回去了 就会出现多个,但是这时候最后一个才是有效的),所以再添加一个对每个ID的计数(push就++,pop就--),只有在计数为1的时候从队列里拿出来才能被当做合法的ID使用,否则跳过。
至于其他,使用exist_count保存可用ID个数可以直接判断type=1的情况......

3. 第三题,emmm...,想简单了,随便写了一下,以为求出所有矩形交集重叠次数即可,但是发现不对......,有大佬写出来可以分享一下。
全部评论
第二题差不多的思路 为啥Java只能过2%😭
6 回复 分享
发布于 2023-04-26 21:59 广东
第三题二分 + 力扣春季赛个人赛第三题
2 回复 分享
发布于 2023-04-26 22:11 上海
第二题用list+数组不知道行不行,数组用来保存每个元素的迭代器, 这样指定删除也是O(1)了。
2 回复 分享
发布于 2023-04-26 22:38 美国
大佬,前两题这个解法都100%吗
1 回复 分享
发布于 2023-04-26 21:51 江苏
第二题我也是延迟删除,怎么只有4%
1 回复 分享
发布于 2023-04-26 23:29 江苏
第一题能具体说说吗
1 回复 分享
发布于 2023-04-27 12:35 江苏
第一题bfs的那个层数要怎么求呀,我当时脑子里只有树的bfs,图的就卡住了
点赞 回复 分享
发布于 2023-04-28 13:07 陕西

相关推荐

评论
8
24
分享
牛客网
牛客企业服务