你好,最近我在海得拉巴接受了亚马逊SDE-1职位的面试。有一个电话回合,然后是4个F2F回合。
电话回合: 1.将元素插入BST 2.数组先增大后减小找到停止增大的点。
F2F第1轮: 1.将数组中的所有元素替换为其右侧下一个最高的元素 预期O(n)溶液。
2.给定一棵二叉树和一个值k。如果路径(从根到叶的路径)>k中的元素之和移除树中所有不重的路径,即树应该只包含重路径,则称为重路径。
F2F第二轮: 1.给定一个数组,找出所有满足三角形预属性的三元组(两条边的和应大于第三条边) Sol:然后使用二进制搜索对o(n^2 log(n))进行排序。
2.给定一个依赖关系,例如过程p1、p2、p3 p1:{p2,p3} p2:{p3} p3:{} 这意味着一旦p2和p3完成,p1就会启动 p2开始p3完成 p3可以启动,因为它没有任何依赖性。 找出策略,找出流程的执行顺序。 拓扑排序。
F2F第三轮: 1.设计一个带有push pop的堆栈,并在o(1)时间内找到min操作。 答:可以使用两个堆栈完成
2.给定一个输入字符串和一个单词字典,找出输入字符串是否可以分割成一个以空格分隔的字典单词序列。 解决方案 https://www.geeksforgeeks.org/dynamic-programming-set-32-word-break-problem/
F2F第四轮: 讨论项目和当前工作经验。 o(n)中二叉树的直径。 首先设计o(n^2),然后优化为o(n)
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。