亚马逊面试经历 |设置 185(用于 SDE1)
嗨,最近我在海得拉巴接受了 Amazon SDE-1 职位的采访。有一个电话轮,然后是 4 个 F2F 轮。
电话回合:
1. 将元素插入 BST
2. 一个数组先增后减,找到它停止增加的点。
F2F 第一轮:
1. 将数组中的所有元素替换为其右侧的下一个最高元素
预期的 O(n) 解决方案。
2. 给定一棵二叉树和一个值 k。如果路径中元素的总和(从根到叶的路径)> k 从树中删除所有不重的路径,则称为重路径,即树应该只包含重路径。
F2F 第 2 轮:
1. 给定一个数组,找出所有满足三角形先验的三元组(两条边之和应大于第三条边)
Sol:然后使用二分搜索对 o(n^2 log(n)) 进行排序。
2. 给定一个依赖关系,例如进程 p1,p2,p3
p1:{p2,p3}
p2:{p3}
p3:{}
这意味着一旦 p2 和 p3 完成, p1 就会启动
p2 开始 p3 完成
p3 可以启动,因为它没有任何依赖关系。
找出策略以找到流程的执行顺序。
答:拓扑排序。
F2F 第 3 轮:
1. 设计一个带有 push pop 的堆栈,并在 o(1) 时间内找到最小操作。
Ans: 可以使用 2 Stacks 完成
2. 给定一个输入字符串和一个单词字典,找出输入字符串是否可以分割成一个空格分隔的字典单词序列。
解决方案 https://www.geeksforgeeks.org/dynamic-programming-set-32-word-break-problem/
F2F 第 4 轮:
讨论项目和当前工作经验。
o(n) 中二叉树的直径。
首先设计 o(n^2) 然后优化为 o(n)