笔试(关于Hackerrank) 在20分钟内解决问题 1) 下一个排列:具有相同数字集的下一个最大数。 例如:I/P:123,O/P:132 2) DFS+DP标准问题。我不记得确切的问题陈述,但它是相当标准的,需要DFS+DP解决方案。
第一轮(电话) 1) 给定一个0和1的数组。你可以翻转任意一个0,以最大化一个的连续数。
2) 只给定二叉树的一个节点,按顺序查找下一个节点 在O(1)空间中。树的根是未知的。 正如他所说的,除了根的位置之外,任何东西都可以假设,为了解决这个问题,我假设树节点也包含指向各自父节点的父指针。
第二轮(F2F) 1) 给定一棵二叉树。垂直打印其元素。使用水平距离概念和hashmap解决了这个问题。
2) 以上问题的变体,您不允许使用Hashmap。讨论了许多方法。在经过大量讨论和变化后,他应用了一个不使用任何哈希的约束条件,提出了一个节点列表的双链表解决方案。因为我不允许使用哈希,所以我所要解决的变化是维护一个指向双链表的全局指针,将其在双链表中左移到当前树节点的左子节点,将其右移到当前树节点的右子节点。
第三轮(F2F) 介绍和实习相关的讨论,然后是这些技术问题 1) 给定一个排序的整数流。输入向量的大小未知。找到一个给定的整数。预期复杂性;日志(n) 提示:在二进制搜索方法中,使用完美正方形作为起始索引和结束索引。 2) 上述问题的变化,因为我们不知道终点。假设我们有一个函数,如果阈值索引(输入向量的大小)为 已经越过了。现在改进上述解决方案以处理该案件。 假设数组大小为 3) 主题相关问题:TCP v/s UDP、虚拟内存、密码学等 4) 设计一款音乐播放器,可以随机播放歌曲,不重复。给出了O(n)时间和O(1)空间解。
第四轮(F2F) 介绍、项目相关问题,然后是: 1) 给定k个排序链表。将它们合并到一个排序列表中。 使用自定义最小堆方法也可以这样做。 2) 为上述问题实现自定义最小堆。 3) 打印距离二叉树中给定节点“k”处的节点。
第五轮(电话) 1) 介绍和项目讨论。 2) 将给定的整数转换为罗马数字格式,但使用最少数量的条件语句。想出了很多方法, 他对任何方法都不满意,并要求我尽可能多地删除有条件陈述。 3) 给定一个0和1的数组。找到零和一数量相等的子阵列的最大大小。 提出了O(n)时间和O(n)空间解。
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论