📜  Myntra 面试经历 |第 10 组(软件工程师)

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

Myntra 面试经历 |第 10 组(软件工程师)

第 1 轮(90 分钟):总共有 10 个问题(6 个 MCQ 和 4 个编码问题)。 MCQ 的问题不是很棘手。编码问题是:

  1. 在从 1 到 n 编号的直线上有 n 个叶子。毛毛虫从 0 开始,有条件地开始吃树叶。总共有 k 个毛毛虫,它们的跳跃次数以数组的形式给出。跳跃编号为“j”的毛毛虫吃掉了 j、2j、3j、……。离开直到 n。像这样,每只毛毛虫都会吃掉它们跳跃次数对应的叶子。找出最后未吃的叶子数量。
    约束:
    • 像这样,每只毛毛虫都会吃掉它们跳跃次数对应的叶子。找出最后未吃的叶子数量。
    • 1 < n < 2 * 10^9 和 2 <= k <= 22

    (Bruteforce 为某些人解决了 7/15 的测试用例,为其他人解决了 10/15 的测试用例)。

    例子 :

    n = 10, k = 3
    Jump numbers : 2 4 5
    Answer : 4
    
    Explanation :
    2, 4, 5, 6, 8, 10 will be eaten by the caterpillar and only
    1, 3, 7, 9 will be left.
  2. Jamie 沿着一条从 0 点开始到 n 点结束的数轴行走。她可以在当前位置向左或向右移动一步,但不能从点 0 向左或从 n 点向右移动。换句话说,如果 Jamie 站在 i 点,只要她的目的地存在于包含范围 [0,n] 内,她就可以移动到 i-1 或 i+1。她有一个由字母 1 和 r 组成的运动指令字符串s ,其中 1 是向左移动一步的指令,而 r 是向右移动一步的指令。
    Jamie 依次按照 s 中的说明进行操作。例如,如果 s='rrlr',她执行以下动作顺序:向右一步 -> 向右一步 -> 向左一步 -> 向右一步。 Jamie 想按照字符串s 指令的某个子序列从点 x 移动到点 y,并且想知道有多少不同的可能的字符串s 子序列将她从点 x 带到点 y。回想一下,字符串的子序列是通过从字符串中删除零个或多个字符获得的。它有四个参数:
    • 一个 String , s 使用字符l(即左移一个单位)和 r(即右移一个单位)给出一个推导序列
    • 一个整数 n,表示数轴的长度。
    • 一个整数 x,表示杰米在数轴上的起点。
    • 一个整数 y ,表示 Jamie 在数轴上的端点。
    • 该函数必须返回一个整数,表示字符串s 的不同子序列的总数,该子序列会将 Jamie 从点 x 引导到点 y,因为该值非常大。
    Sample Input :
    rrlrlr
    6
    1
    2
    
    Output = 7
    
  3. 通过删除前 i 个字符,找出一个数字与其自身的公共前缀(从开始的公共字符)的总和。 (i = 1, 2, ....., n-1), n ->字符串长度。
    (蛮力被某些人接受)。
    Input : ababab
    Output : 6+0+4+0+2+0 = 12
    Explanation :
    ababab and ababab has common prefix (ababab) of length 6.
    ababab and babab has common prefix () of length 0.
    ababab and abab has common prefix (abab) of length 4.
    ababab and bab has common prefix () of length 0.
    ababab and ab has common prefix (ab) of length 2.
    ababab and b has common prefix () of length 0.
  4. 计算数组的累积和并跟踪最小值,如果最小值小于1则返回(min*-1)+1;否则返回 0。

第 2 轮:第一轮是否有 2.5 道编码问题和 4/6 mcq 是正确的。入围面试。他唯一要求我的是编写将排序数组转换为平衡树的代码。我花了一点时间写了代码。然后他问我说它写的代码的复杂性。没有进入第二轮的候选名单。

Myntra 的所有练习题!