📌  相关文章
📜  WhiteHat Jr 软件工程师面试经验| 2年经验

📅  最后修改于: 2021-09-23 05:52:22             🧑  作者: Mango

第1轮:

LLD:设计一个汽车租赁系统。

应该能够设计可扩展的系统和代码应该是可编译和可执行的并满足给定的要求

第二轮:

  1. 找到两个已排序数组的中位数
    方法:
    1.使用归并排序的归并操作生成辅助数组并求中位数
    • 时间复杂度 – O(m + n)
    • 空间复杂度 – O(m + n)
    • 如果 m + n 是奇数,则 (m + n) / 2th 元素
    • 如果 m + n 是偶数,则 (((m + n) / 2)th + (((m + n)/2) – 1)th) / 2
    • 因此,在合并时不是将所有值存储在辅助数组中,而是将当前元素和上一个元素存储到当前 != ((m + n)/2)th element
  2. 二叉树的底视图(https://www.geeksforgeeks.org/bottom-view-binary-tree/)
    提示 – 存储每个级别的每个节点的水平距离。

第 3 轮:

  1. 查找字符串是否是另一个字符串 的旋转。

         给定一个字符串`abcde` 和另一个字符串`dea`,查找 `dea` 是否是 `abcde` 的旋转。

在这种情况下,应该返回 true。

如果字符串是 `abcde` 和 `bde`,它将返回 false。

2.二叉树的层序遍历,每层换行打印。

             需要另一种方法来扩展 n 元树的代码