第1轮(在线编码轮):本轮有3个问题
1) 中缀到后修复转换
2)这道题和树的层序遍历一样,只是题的表述有点棘手。(如果你熟悉层序遍历那么你很容易做)。
3)在这个问题中,我们要找到 k 个不同字符串的最长公共子串。
例如:对于 k=4,str1= abcdabc,str2= sdbcdacb,str2= gucbcsgardsb
输出:公元前
我能够部分解决前两个问题和第三个问题。
我认为这一轮有4组,这一轮出现了近50-60名学生,下一轮选出了11(约)名学生;
第二轮(技术面试第一轮):
这一轮从我的介绍开始。
面试官给了我一个问题,他首先解释了,然后告诉我继续。
给定一个由 0 和 1 组成的二进制矩阵 (n*n)(未排序),返回由最大个数为 1 组成的行号。
输入 :
1 1 0 0 0
0 1 0 0 1
1 1 1 1 1
0 0 0 0 0
1 0 1 1 1
输出:2
我给了他蛮力解决方案 O(n^2),他立即要求我优化它。面试官非常友好,他给了我一些提示,最后我能够在 O(N logN) 时间内解决它。
这是他问我的唯一编码问题,我的一些朋友我们也问了 3 个问题。
之后他问了我很多关于dsa的问题:
黑白链表和数组的区别,何时使用它们。
各种排序算法,如选择排序、插入排序、快速排序、归并排序。
之后他问了我几个关于计算机网络的问题。
这就是这一轮的全部内容。下一轮只选了 2 名学生(包括我)。
第三轮(技术面试第二轮):
这开始有点晚,所以面试官只给了我两个问题并要求解决它们。
问题一:使用数组实现哈希映射。
他希望我完全实施它,考虑到冲突,但我无法实施。
问题2:旋转二维矩阵。
这就是这一轮的全部内容。
我无法清除这一轮。
注意:您应该知道如何实现任何数据结构,不要忽略它们“ki baad main kr lenge”。平等对待每一个问题,是的,不要在面试中失去希望尝试解决问题并大声思考,因为只有这样面试官才能抓住你的想法并且如果你被卡住肯定会给你一些提示🙂