我是 NIT Jamshedpur 的 3 年级 B.tech 学生。亚马逊参观了我们的校园实习。
ROUND 1:第一轮为线上赛,本轮共4盘。
第一组是代码调试回合,大约有 6-7 个代码。第二轮是编码轮,也很容易,第三轮是能力轮,最后一轮是行为问题轮。
在线回合中的 2 个编码问题是:
-
合并两个已排序的链表
-
有一个二维矩阵,每个单元格都包含一个值。我们必须考虑从矩阵的左上角单元格到右下角单元格的所有路径。我们可以在唯一的底部或右侧移动 我们必须考虑所有路径中的 1 个最小值单元格,然后我们必须找到所有这些最小值的最大值。
例子:
array a[3][3]
7 10 6 8 5 11 3 4 9 这里所有可能的路径是 (7->10->6->11->9), (7->10->5->11->9), (7->10->5->4-> 9)、(7->8->5->11->9)、(7->8->3->4->9)、(7->8->5->4->9) .所以这里这些路径中的最小单元格是 6, 5, 4, 5, 3, 4。而其中的最大值是 6。所以 6 是答案。我使用 dp 表解决了这个问题,通过观察我得到了关系 dp[i][j] = max( min(a[i][j], dp[i+1][j]), min( a[i][j], dp[i][j+1]))。
第2 轮(面对面):这是最后一轮。总共有2个问题。首先,他向我介绍了自己和他在公司的角色,然后他让我做自我介绍。之后,他直接跳到了编码问题
-
这个问题一开始很难解释,因为我觉得面试官是在测试我可以在这里实现一个数据结构。问题是:- 有一个有 n 只蚂蚁的蚁群。蚂蚁之间总共会有 m 次交互。所以,(只有当所有的互动都发生在异性之间时,一个殖民地才是好的)。我们一直在给出蚂蚁之间的相互作用,我们必须找出这个群体是否可以好坏。例如:-
Input: 3 3 1 2 2 3 1 3
所以总共有 3 只蚂蚁和 3 次交互。蚂蚁 1 与蚂蚁 2、2 与 3、1 与 3 相互作用。我们必须判断这个群体是否可以是好的。所以这里这个殖民地不可能是好的,因为1与2和3相互作用,所以2和3的性别应该是一样的,但是2和3也相互作用所以这个殖民地不可能是好的
我通过在这个问题中实现一个图解决了这个问题,并在这个问题中使用了二分组件的概念。
-
下一个更大的元素
判决:选定