Se suponía que iban a ser 4 rondas. 1 codificación y 3 presenciales.
1ra ronda: Hackerrank, 4 preguntas de codificación y límite de 1 hora. No es necesario aprobar las 4 preguntas. Si 2 de ellos han pasado todos los casos de prueba, la ronda se borra.
Pregunta 1: encuentre el número de vehículos de 2 ruedas y 4 ruedas correspondientes a cada elemento de una array dada. Ejemplo: entrada: [6, 3, 2]
salida: [2, 0, 2]
explicación: para 6: 1 vehículo de 4 ruedas y 1 vehículo de 2 ruedas. para 3: no es posible, entonces 0. para 2: solo es posible 1 vehículo de 2 ruedas.
Ques 2: encuentre la suma de todos los factores impares de una array dada. Ejemplo: entrada: [1, 6, 9]
salida: suma = 1(1) + 4(1, 3 para 6)+13(1, 3, 9 para 9) = 18
Pregunta 3- https://www.geeksforgeeks.org/minimum-swaps-required-group-1s-together/
Debido al límite de tiempo, no pude asistir a la 4ª pregunta.
2da Ronda: Presencial , 4 preguntas.
1st Ques: dada una suma y una array de entrada. Encuentre todas las formas posibles en que un subarreglo de entrada puede formar la suma dada. Tenga en cuenta que puede repetir los números de la array de entrada cualquier no. de tiempos
ejemplo: entrada: suma=14, array[]={1, 5, 8}. Salida: 5 formas: {1, 5, 8}, {5, 5, 1, 1, 1, 1}, {8, 1, 1, 1, 1, 1, 1}, {5, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1} Traté de usar la iteración y comencé
a escriba ejemplos y código en una pizarra blanca, pero no pudo llegar a la respuesta. El entrevistador me preguntó si es posible usar la recursividad. Intenté usar el enfoque O (n ^ 2) pero aún estaba a mitad de camino.
La solución está aquí:https://www.geeksforgeeks.org/ways-sum-n-using-array-elements-repetition-allowed/
2nd Ques: encuentre los intercambios mínimos necesarios para convertir BT a BST.
Respondí usando el método de clasificación en orden.
La solución está aquí: https://www.geeksforgeeks.org/minimum-swap-required-convert-binary-tree-binary-search-tree/
3.ª pregunta: problema de lectura y escritura de subprocesos múltiples. Escribe el código para ello.
Cuarta pregunta: pregunta de SmartPointer. Expliqué el smartPointer con código de cómo administra automáticamente la memoria ya que el destructor siempre elimina la memoria ptr asignada y no necesitamos llamar al destructor explícitamente ya que se llama automáticamente cuando el objeto sale del alcance.
Entonces, la siguiente pregunta que se hizo en esto fue si se puede llamar automáticamente al destructor, entonces ¿por qué no implementamos lo mismo para cada clase
(es decir, eliminamos la memoria asignada en el destructor) y luego en qué se diferencia el smartPointer de cada clase? . Entonces, ¿por qué necesitamos smartPointer? Esto me confundió.
No tuve más rondas.
¡Mis mejores deseos!