华为4.9笔经(含笔试真题及解析)
去年实习和秋招华为的第一场笔试都很简单,不过没啥借鉴意义,随机性很强,无论笔试难还是简单及格分数线都不会变,第一场笔试的同学看来运气一般噢!
本次笔试难度中等偏上,没有很打卡的题目,而且前两题都是图论,会劝退很多不刷图论的同学。
第一题拓扑排序的应用,比较明显,但是需要理解要拓扑排序的过程。
第二题迪杰斯特拉的应用,也是模板化的题目,但是需要注意处理路径的回溯。
第三题逆序对的处理,可以直接使用归并来解决。
第一题
输入:
第一行为记录的版本迭代关系个数N,范围是[1,100000];
第二行到第N+1行:每行包含两个字符串,第一个字符串为当前版本,第二个字符串为前序版本,用空格隔开。字符串包含字符个数为[1,100],没有前序版本的第二个字符串固定为NA。
输出:
所有迭代次数最多的补丁版本号字符串列表,多个版本号以字典序排序排列,用空格隔开。
二、地铁耗时最短线路
大湾区某城市地铁线路非常密集,乘客很难一眼看出选择哪条线路乘坐比较合适,为了解决这个问题,地铁公司希望你开发一个程序帮助乘客挑选合适的乘坐线路,使得乘坐时间最短,地铁公司可以提供的数据是各相邻站点之间的乘坐时间。
解答要求
时间限制:C/C++1000ms,其他语言:2000ms内存限制:C/C++256MB,其他语言:512MB
三、最小操作次数
给定一个N* N的二维矩阵,其中包含[1,N^2]的互不相同的正整数。定义一种操作: 每次可以选择矩阵中的一个元素,将其与其在顺时针螺旋顺序中的下一个元素交换位置
详细真题及**如下
真题及**如上