亚马逊面试经历 | Set 241(1.5年经验)
第一轮(班加罗尔世贸中心)——技术
1. 给定一个先增后减的数组,找出其中的一个元素。
示例:arr[] = { 2,6,8,9,15,20,18,16,12,7,1}; x = 12,求 x。
2. 打印二叉树的左视图。
3. 给定一个仅包含 1、2 和 3 的数组。对数组进行排序。他让我为两种方法编写代码——计数法和荷兰国旗算法。
4. 有一个不规则的、随意的、不成形的蛋糕,需要在 n 个人之间平均分配。假设你是其中之一。你如何达成共识?
Round -2 (Q-city, Hyderabad) – 提高酒吧
1. 关于项目、你的贡献、你的角色和责任、面临的挑战等。
2. 为什么是亚马逊?
3. 给定一个只包含 Is 和 Ds 的模式。 I 表示增加,D 表示减少。设计一种算法来按照该模式打印最小数字。 1-9 的数字和数字不能重复。
Example:
1. Input: D Output: 21
2. Input: I Output: 12
3. Input: DD Output: 321
4. Input: II Output: 123
5. Input: DIDI Output: 21435
6. Input: IIDDD Output: 126543
7. Input: DDIDDIID Output: 321654798
第 3 轮(Q-city,海得拉巴)- 技术
1. 给定一个 BST 的前序遍历。构建 BST。
2. 给定 am*n 矩阵。 m 和 n 可以很大。我们需要查询矩阵以获取子矩阵的总和。输入将是左上角和右下角的坐标。我们需要在 O(1) 时间内返回子矩阵的总和。
解决方案:对矩阵进行逐列求和并将其存储。再次,逐行求和并存储它。
第4轮(Q-city,海得拉巴)-管理
1. 关于项目、你的贡献、你的角色和责任、面临的挑战等。
2. 给定 m 个已排序的数组,将其合并为一个数组。
亚马逊的所有练习题!