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

华为4.26笔试c++

优质
小牛编辑
72浏览
2023-04-27

华为4.26笔试c++

第一题多次循环,每次循环找出当前所有入度为0的节点,删除,再把这些节点后续节点的入度减1,每循环一次结果res++,假如有一次循环过程中未发现有入度为0的节点,就说明有环,直接输出-1返回。(这是拓扑排序吧?
AC 100%
第二题看到有人说用双向链表的,其实单向链表(含头节点和尾指针)也可以做,哈希表存储索引值的前一个节点就可以了(方便删除),当然这样在添加和删除时稍微复杂一点。(没用stl list,压根没往双向链表上想....)
AC100%
代码能力太辣鸡了写的乱七八糟,做完前两题就只剩半个小时了,第三题看了一下不太好写,直接输出0,交卷放弃去吃饭。
3%
 类似资料: