📜  亚马逊专访 |第 120 组(校内实习)

📅  最后修改于: 2021-11-10 06:58:53             🧑  作者: Mango

最近亚马逊访问了我校,详情如下。

在线回合:
有两个问题。
1. 给出N 个字符串。将所有字符串转换为字母数字键盘中键入的相应十进制值(例如“bdg”-> 234)。然后按十进制值的降序打印所有字符串。如果它们具有相同的十进制值,则首先按字典顺序打印较小的值。
输入:

5
Amazon
sun
run

Output:
262966  amazon
786 run
786 sun

2. 编写代码,按字典顺序打印字符串中所有可能的字符组合(顺序事项)。
输入:“ABC”
输出:A、AB、ABC、AC、ACB、B、BA、BAC、BC、BCA、C、CA、CAB、CB、CBA

面试:
第 1 轮:45 分钟
首先是对项目的简短讨论。她很快转向编码问题。
她让我为“计算 BST 中总和为 k 的所有对”编写了一个无错误代码。她还补充说,可能存在重复项,但仅在左侧。
她首先讨论了方法,然后将空间复杂度限制为 O(1)。她仔细检查了代码。
然后是 3-4 道编码问题。她只是讨论了方法。
– 将 bst 中的所有节点更新为所有大于或等于它的元素之和。
– 股票问题/给定一个数组 ‘arr’ 找到两个元素之间的最大差异(max(arr[i]-arr[j]) 其中 i>=j)。
– 然后有一个很棒的问题……给定一个完美的二叉树。
以特定方式打印节点。例如-

15
            /  \
          13    14
        /  \    /  \
       9   10  11   12
      / \  / \ / \  / \
     1  2  3 4 5 6  7 8
print - 1 8 2 7 3 6 4 5 9 12 10 11 13 14 15

我告诉她的方法有一些空间复杂性。她再次限制了空间复杂度,我通过识别一些模式 😉 得到了一个有效的解决方案。

第 2 轮:25 分钟
只有两个问题。
1- 给定一个没有空格的字符串和一个字典。问题是要查找该字符串可以拆分为多个字符串,以便所有拆分的字符串都在字典中。我得到了一个函数search(字符串 str),它会判断一个特定的字符串str 是否在字典中。
我很快给出了递归方法。
2- 第二个问题是众所周知的二叉树的垂直顺序遍历。她刚刚讨论了如何在 C++ 中实现各种方法。
然后讨论了分配给实习生的项目类型等等。

亚马逊的所有练习题!