Cohesity 来我校实习 2 个月,每半小时有 1 轮在线和 2 轮 F2F 缩放轮。
在线回合在 HackerRank 上有 2 个问题,我们必须在 1:10 分钟内完成。
问题 1:计算数组中可能的 (a, b) 对的最大数量,使 a 小于等于 2*b。还告诉剩下的未配对元素的数量。(50 分)
所以对于输入
1、3、5、6、7
答案 = 2 1
因为 1、5 和 3、6 是 2 对,而 7 是唯一剩下的未配对元素。
问题 2:给定 2 个字符串,假设 s1 和 s2 找到满足 s[i .. j]=s[k. . l] 和 j-i+1 是最小的。 (20 分)
看起来很难,但很简单,因为 j-i+1 应该是最小的。可以使用计数排序来计算字符数,然后求和为
sum+=count1[i]*count2[i];
其中 count1 和 count2 是 26 长度的数组,分别给出字符在 s1 和 s2 中出现的次数。
在第一轮之后,只有 5 名候选人入围面试,分数超过 57 分。
对于每一轮 Zoom,我们只有 30 分钟的时间来理解问题并给出其纯 C++ 代码。
放大第 1 轮:
问题:给定一个循环链接列表,删除相邻的重复元素。
输入/输出:1-2-3-3-2-1
输出:2-3-2-1
可以通过递归或迭代方法给出答案。
请记住采用边缘情况,因为 List 可以为 null 或只能有 1 个元素。
缩放第 2 轮:求二叉树的直径。
5 人中只有 1 人被选中实习,我 😉 ..