📜  亚马逊专访|套装69(对于SDE-1)

📅  最后修改于: 2021-05-07 18:46:36             🧑  作者: Mango

在线编码回合:

  1. 查找给定的字符串包含重复项
  2. 给定一个BST,找到树的最大N个元素
  3. 给定一个BST,将其转换为双链表
  4. 将二维矩阵旋转90度

电话面试1:

  1. 滑动窗口问题:给定较大的整数缓冲区/数组(例如,大小x),现在给定窗口大小(例如,n)和数字(例如,k)。 Windows在第一单元开始,并保持一个元素右移。目的是找到每个窗口中存在的最小k个数字。
  2. 给定一个二叉树,每个节点都有一个整数数据,目标是使用此二叉树创建一个新的双链表,以使DLL中的每个节点在二叉树中具有垂直的节点和。在DLL节点的顺序应从左到右为二叉树的垂直节点即最左边的垂直总和应为DLL 1节点和最右部垂直金额应在DLL中的最后一个节点。

电话面试2:

  1. 给定二叉树的根和指向该树中任何随机节点的指针,目标是在距给定随机节点’k’的距离处打印所有节点。

面对面

注意在以下每个问题中都讨论了时间和空间的复杂性。对于每个问题,我都被要求优化算法,然后为它编写工作代码。每轮讨论当前项目。

第1轮:

  1. 给定一个矩阵(m * n),源(0,0)和目标(m-1,n-1)(即最后一个像元),找出从源到达目标的总数。
  2. 给定一个二叉树,将术语“完整路径总和”定义为位于从根到叶的路径中的节点的值总和;现在给定值“ k”,我们必须找到k重路径并修剪二叉树,即修剪/删除其完整路径总和小于k的节点。

第二回合(经理回合):

关于一个问题的详尽讨论:如果我是销售某种产品的公司的所有者。因此,我应该如何将数据存储在数据库中,以便当任何分析师来访并要求提供任何信息时,我都可以为他提供最精确的值。它主要包括应存储哪些数据以及应如何存储。

  1. 给定两个排序的数组,创建一个最终的排序的数组。后来,问题扩展到说,现在我们有’m’个排序数组,每个数组的大小均为’n’,现在可以有效地创建最终数组。关于方法的复杂性(时间和空间)进行了大量讨论。

第三回合

  1. 给定一个二叉树,去左边的孩子的旅行成本为’1’,而右边的孩子的旅行成本为’2’。现在,在给定树的根和值“ k”的情况下,找到与根距离/成本为“ k”的节点总数。
  2. 给定大小为n的未排序整数(仅正值)数组,我们可以形成两个或三个的组,该组应使得该组中所有元素的总和为3的倍数。找到最大数可以通过这种方式生成的组。
  3. 给定一个整数数组,找到到达数组末尾的最小跳转数。

第四回合:

  1. 给定一个BST,将其转换为一个双链表。注意:我们不必创建新的数据结构,即我们必须修改给定BST中的链接/指针。
  2. 问题的构想是这样的:给定房屋的街道(一排房屋),每个房屋的内部都存有一定数量的钱。现在有一个小偷打算偷这笔钱,但是他有一个限制/规定,他不能偷/抢两个相邻的房屋。找到他可以抢的最大钱。

注意:我没有遇到任何人力资源回合,尽管在每个回合中都询问了更改原因。

总而言之,这是一次很棒的经历,面试官真的很酷,并给了很多时间思考和编码,如果我遇到困难,有时会建议/提示。

GeeksforGeeks对我的准备工作非常有帮助。

亚马逊的所有练习题!

相关实践问题

最高金额