当前位置: 首页 > 面试经验 >

华为04.26机试前两题

优质
小牛编辑
96浏览
2023-04-26

华为04.26机试前两题

1. 寻常的BFS,相当于返回层数,但是最后要考虑是否能遍历到所有的模块,否则还是返回-1(这里卡了95%好一会,不知道友友们卡的95%是不是这个原因)
2. 没有使用LRU,使用了一个队列,对于指定ID的获取,使用了延迟删除的思想,所以需要标记ID是否存在;但是这还不够,因为延迟删除的关系导致队列中会出现多个相同的ID(用完有放回去了 就会出现多个,但是这时候最后一个才是有效的),所以再添加一个对每个ID的计数(push就++,pop就--),只有在计数为1的时候从队列里拿出来才能被当做合法的ID使用,否则跳过。
至于其他,使用exist_count保存可用ID个数可以直接判断type=1的情况......
3. 第三题,emmm...,想简单了,随便写了一下,以为求出所有矩形交集重叠次数即可,但是发现不对......,有大佬写出来可以分享一下。
 类似资料: