Experiencia de entrevista de Microsoft IDC – Part 13

Prueba:

  • Encuentra el primer carácter que no se repite en la string.
    Entrada: “aabcbd”
    Salida: c
  • K-lista enlazada inversa
    Entrada: 1 2 3 4 5 -1 k = 3
    Salida: 3 2 1 5 4
  • Reduzca el árbol de búsqueda binaria en el rango de enteros dados.
    Entrada: 7 5 10 4 6 8 -1 2 -1 -1 -1 -1 9 1 3 -1 -1 -1 -1 -1 -1 (entrada de orden de nivel)
    Rango inferior = 4 rango superior = 8
    Salida:
    7 : 5, 8
    5: 4, 6
    8: -1, 9
    4: -1, -1
    6: -1, -1
    9: -1, -1

Alrededor de 200-300 personas dieron esta ronda y 80 pudieron despejarla.

Ronda de vuelo en grupo:

  • Eliminar y reemplazar el carácter ‘c’ de una string de entrada dada por caracteres dobles «**»
    Entrada: «calcic»
    Salida: **al**i**
  • Dado un árbol binario cuya estructura es la siguiente
    Class BSTspecial{
    public:
      BSTspecial* parent = NULL;
      BSTspecial* left = NULL;
      BSTspecial* right = NULL;
      int data;
      BSTspecial(int data){
        this->data = data;
      }
    };

    Dado un Node (tenga en cuenta que puede ser cualquiera de los Nodes del árbol, ya sea raíz o no), debe encontrar su hermano/primo derecho inmediato, si lo hay, o devolver NULL si no está presente.

    Entrada:
    1 2 3 4 5 -1 6 -1 -1 -1 -1 -1 -1 (entrada de orden de nivel)
    Para el Node ‘5’ la respuesta es ‘6’
    Para el Node ‘4’ la respuesta es ‘5’
    Para el Node ‘ 6’ la respuesta es -1
    Para el Node ‘1’ la respuesta es -1

De 80 personas, 14 fueron preseleccionadas para entrevistas.

Entrevista:

La ronda 1:

  • ¿Qué entiendes por complejidad del tiempo? ¿Y cuál fue su complejidad de tiempo para la pregunta que se hizo en el grupo fly?
  • Se le dan n strings y una función de unión de strings que toma dos argumentos (ambas strings), su complejidad de tiempo es tal que es la suma de las longitudes de ambas strings.
    Si s1 tiene k unidades de largo y s2 tiene l unidades de largo TC = O(k + l)

    Ahora, debe generar un algoritmo de modo que se tome un tiempo mínimo para unir n strings.

    Strings: s1, s2, s3, s4, ……………………………, sn.

    Longitudes: l1, l2, l3, l4, ……………………………., ln.

    Sugerencia: O(log(n)*(l1 + l2 + l3 + …….. + ln)) podría no ser la mejor manera, esto solo funciona para strings con casi la misma longitud.

  • Encuentra si una lista enlazada dada es palíndromo o no.
    Sin espacio extra en O(n) y sin romper ningún enlace.

    Nota: se ignorará el espacio de pila de la recursividad.

La ronda 2:

  • Retorna una estructura de datos de un árbol dado de modo que todos los hijos de cada Node apunten hacia su respectivo padre y el Node raíz hacia NULL.

    Analice la complejidad temporal del enfoque.

    Y luego me pidieron que lo mejorara.

Debido a que la ronda n. ° 3 y HR fueron golpeados a altas horas de la noche, solo éramos 4 personas, pero me pidieron que me fuera.

Publicación traducida automáticamente

Artículo escrito por vyombh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *