Experiencia de entrevista de Microsoft | Conjunto 141 (fuera del campus: prueba de codificación en línea para IDC)

La prueba en línea se realizó en CoCubes el 5 de noviembre de 2017. La prueba estaba habilitada con cámara web para evitar cualquier tipo de trampa. No puede abrir ninguna otra pestaña ni minimizar la ventana. Consistía en 3 preguntas de codificación.

LÍMITE DE TIEMPO: 75 minutos
(*) Puntos (Qn-1) = 2

(*) Marcas(Qn-2) = 3

(*) Marcas(Qn-3) = 5

Pregunta 1: escriba una función que acepte una array de enteros y su tamaño y modifique la array de la siguiente manera:

1) If the elements of index i and (i+1) are equal then, double the value at index i
and replace the element at index (i+1) with 0. 

2) If the element at index i is 0, then ignore it.

3) Any number (element in an array) must be modified only once.

4) At the end, shift all the zeros (0s) to the right of the array and remaining
nonzeros to the left of the array.

Example: 
Input: 2 2 0 4 0 8
Output: 4 4 8 0 0 0

Input: 2 2 0 4 0 2
Output: 4 4 2 0 0 0

Pregunta 2: escriba una función que acepte una array de enteros y su tamaño y devuelva la diferencia de índice máxima, es decir (ij), tal que array[i] < array[j] e i < j. Si no existe tal caso, devuelve -1 .

Input: 2 0 3 5 6 1
Output: 4

There was only one test case given which is mentioned above. But I am providing the below
one of the sample cases which is an important thing to be noted. It returns -1 because all the
elements after any given element are smaller than it. DO take care of such cases.

Input: 9 8 7 6 5
Output: -1

Pregunta 3: escriba una función que acepte la raíz de un árbol y devuelva una lista enlazada que contenga los Nodes de hoja del árbol de izquierda a derecha.
Suposiciones:

(*) Structure of the node of tree is as follows:
struct TreeNode
{
    int data;
    struct TreeNode* left;
    struct TreeNode* right;
};

(*) Don't allocate extra memory for Linked List, just let the right pointer of a leaf
node point to the next leaf node to form a linked list.

Example:
            10 
         /      \               
       20        100          
      /  \       / \             
    30    40    9   66

Output: 30 -> 40 -> 9 -> 66 
     

Sigue practicando preguntas de GeeksForGeeks.

Este artículo es una contribución de MAZHAR IMAM KHAN . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *