📜  APT 作品集面试经验

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

APT 作品集面试经验

线上轮:共4道题,在HackerRank平台进行。

  1. 字谜的乐趣:如果两个字符串是彼此的排列,它们就是字谜。例如,“aaagmnrs”是“anagrams”的字谜。给定一个字符串数组,删除每个字符串,它是先前字符串的变位词,然后按排序顺序返回剩余的数组。示例:给定字符串s = ['code', 'doce', 'ecod', 'framer', 'frame'],字符串'doce' 和 'ecod' 都是 'code' 的变位词,因此它们被删除从列表中。由于“framer”中有额外的“r”,“frame”和“framer”这两个词不是字谜,所以它们仍然存在。中的最终字符串列表
    字母顺序为 ['code', 'frame', 'framer']。
  2. 最大化股票利润:您的算法已经非常擅长预测市场,以至于您现在知道 Silly Purple Toothpicks Inc. (SPT) 的股价会是多少
    继续前进几分钟。每分钟,您的高频交易平台允许您购买一股 SPT,出售您拥有的任意数量的 SPT,或者根本不进行任何交易。找到通过最佳交易策略可以获得的最大利润。在以下等式中,购买为负,销售为正现金流。示例:如果在接下来的 n = 6 分钟内的预测价格是价格 = [3, 4, 5, 3, 5, 2],那么获得最佳结果的一种方法是在前 2 分钟的每一分钟内购买股票以获得现金流-3 + -4 = -7,然后在第三分钟以 2 * 5 = 10 的价格卖出。在第 4 分钟以 3 的价格买入,在第 5 分钟以 5 的价格卖出。总利润为 -3 – 4 + 10 – 3 + 5 = 5。获得相同结果的另一种方法是在第 1 分钟、第 2 分钟和第 4 分钟分别购买 -3 – 4 – 3 = -10 的股票,在第 2 分钟什么也不做,然后卖出所有三股在第 5 天的 5 点(总计 3 * 5 = 15),再次获得 -10 + 15 = 5 的总利润。没有理由在最后一分钟购买,因为没有时间出售。
  3. 停车困境:停车场里停着很多车。停车场是一条很长的直线,每米都有一个停车位。目前有 n 辆汽车停放,您想通过盖屋顶为它们遮风挡雨。要求是至少有 k 辆汽车被车顶覆盖。覆盖k辆汽车的最小屋顶长度是多少?示例:有 4 辆汽车分别停在 2、10、8 和 17 号停车位,k = 3。然后,您可以建造一个长度为 9 的屋顶,覆盖从第 2 个到第 10 个停车位的所有停车位,因此覆盖 3 辆汽车插槽 2、10 和 8。没有更短的车顶可以覆盖 3 辆车,
    所以答案是 9。
  4. 子树中的素数:构造一个有根无向图,然后在图上回答一些查询。从 1 到 n 有 n 个节点。所有节点最初都断开连接。通过在 m 对节点之间绘制一条无向边来构造图形,一次选择一对并连接第一个和第二个节点。连接每一对之后,图的构建就完成了,节点1就是这个图的根节点。一个节点的父节点是从该节点到节点 1 的最短路径上的下一个节点,而后代是到离开节点 1 的叶子的最短路径上。此时,可以将图视为以节点 1 为根的树, 子树可以以任何节点为根并由其后代组成。每个节点都有一个与之关联的正整数值。在以给定节点为根的给定子树中,查找值为素数的节点总数。请注意,1 不是质数。有多个查询。

现场第一轮:

  1. 查找下一个稀疏数:
    https://www.geeksforgeeks.org/given-a-number-find-next-sparse-number/

现场第二轮:

  1. 找到不能表示为给定数组的任何子集之和的最小正整数值:https://www.geeksforgeeks.org/find-smallest-value-represented-sum-subset-given-array/
  2. 设计电梯系统:
    https://practice.geeksforgeeks.org/problems/design-elevator