📜  推特采访 |设置 1

📅  最后修改于: 2022-05-13 01:58:30.110000             🧑  作者: Mango

推特采访 |设置 1

手机屏幕——我

1.不使用数组的斐波那契数列——这是一个典型的动态编程最喜欢的问题,你会要求不要使用记忆或任何额外的存储来存储先前迭代的值。
(同一问题的更复杂版本:使用维度为 N x N 的二维数组生成第 N 行帕斯卡三角形 w/o)

2. N-ary tree:查找树中是否存在value=x的节点。如果是,则返回 true,否则,返回 false。

手机屏幕 – II
1.找到二叉树的最低共同祖先
答:做了10次🙂解释了如何做!

2.克隆图并分析时间和空间复杂度(因为基于 DFS 的方法以更高的内存为代价利用更短的时间)

public class Node {
   public int data;
   List neighbhors;

   public Node (int data) {…}
   setNeighbors(List neighbhors) {…}
}

// HashMap created = new HashMap();

public Node clone(Node oldGraph) {

  if (created.get(oldGraph))
    return created.get(oldGraph);

  Node newGr = new Node(oldGraph.data);
  List nbors = new ArrayList();

  created.put(oldGraph, newGr);

  List adj = oldGraph.getNeighbhors();
  for (Node n : adj) {
     nbors.add(clone(n));
  }

  newGr.setNeighbors(nbors);
  return newGr;
}

手机屏幕三

设计一个布隆过滤器以从未排序的数组中删除重复项!

现场

1. (类似问题)在一个二维数组(M x N,在给定的前 3×3 中)数字中,找到从指定的原始单元格 (1,0) 到指定的目标单元格的严格递增路径(0, 2)。该数组可能包含重复项,并且该解决方案应该适用于这些重复项。

2.a.为 Twitter 上的每条推文设计一个独特的哈希函数,将其用作服务的一部分。
2.b。查找有向图是否有环。为此编写一个具有布尔返回类型的函数。

3.休闲午餐面试。

4.使用包含字符(a 到 z)和 '*'、'?' 的模式进行模式匹配和 '。'

5.a.描述您将如何进行外部排序 -> 得出一种 map-reduce 解决方案。每台机器有 10M 个号码(总共 100M),总共 10 台机器。每个 m/c 有 20MB RAM 和 50GB 内存。
5.b。 N-Queens 问题:找到并打印所有可能的皇后的非冲突位置。

6.a.给定一个输入二叉树并引用树中的一个节点,找到输入节点的下一个有序后继。如果没有,则输出 null。
6.b。对 k 排序数组进行排序的最佳方法是什么?优化时间复杂度。
(我的提示:使用大小为 k 的优先级队列)

7.a.招聘经理:为a设计服务。耐用性 B.一致性
7.b。解释 C++ 的多重继承问题。

如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。