第1轮:
– 你会得到一些放在地上的方块。所以你有像 1, 2, 3, 4 这样的数组,现在在每个索引处,它描绘了没有块放在上面。现在重力方向从上到下改变到从右到左,这将是这个阵列中块的最终状态。所以最终状态将是 4, 3, 2, 1。
如果分析得当,问题实际上是一个简单的排序问题。他问了一些关于我们选择任何排序算法(稳定、就地等)的标准的后续问题。
– 给你一个链表数组。其中一些列表是相交链表(具有公共节点,然后合并为一个)。因此,例如,如果在第 0 个索引处有四个节点的列表,则可能在其他索引处有另一个列表,例如第一个索引,其节点合并到第 0 个列表中的任何节点。所以在这个结构中找到连接组的数量。我使用 Disjoint set 数据结构来解决这个问题。
第二轮:
项目讨论
检查给定的表达式是否有效。例如 ((A+B/C)*(DF)) 是有效的。 )*A+B) 不是。
围绕 Api url 格式和各种休息动词的讨论
围绕各种测试策略(单元、烟雾、集成、API 自动化等)的讨论。
第 3 轮:
这是一个提高标准的回合。
Q1:给你一排人的大小,比如说n,这n个人可以以任何顺序站立,所有这n个人都有不同的高度。现在,从线路的任何一端,您都可以看到说 p 和 q 的人。现在这里有可能一些矮个子的人可能隐藏在高个子的后面。
对于给定的 n、p 和 q,找出所有人可能有多少种安排。
Q2:前序遍历递归迭代法
Q3:拼图给定的数字 (8, 8, 3, 3) 你需要使用所有这些数字一次形成 24。您可以使用任何运算符(cube、cuberoot、factorial、+、-、*、/、%)
同样在使用立方体或立方根时,你实际上消耗了一个 3。
答案是 (cuberoot(8)+cuberoot(8))!
Q4:字符串的排列
Q5:一个房间里有三个人P1、P2、P3,所有这些人都有一些薪水,比如S1、S2和S3。现在没有人愿意直接或间接分享他的薪水,从中可以推断出个人的薪水。您需要找到一种方法来直接找到所有3个人的工资太阳。
答案是使用随机化。每个人将生成一个随机数,并将他的工资和随机数的总和传递给下一个。依此类推,一旦我们得到所有工资和随机数的总和,每个人都可以减去生成的随机数并从中推导出工资总和。
Q6:给定一个宽度为 1 个单位且高度不同的条形图的直方图,找出条形内可以形成的矩形的最大面积。 (形成的矩形应包含在条形内)。