Ronda uno :
Fue una prueba de codificación en línea realizada en HackerEarth. Una prueba que consta de 3 preguntas de codificación.
- dada una array entera (m) de la dimensión NxM. En un movimiento, puede pasar de la posición (i,j) a la octava (i+m[i][j] , j) o (i,j+m[i] [j]). Inicialmente, estás en (1,1) y querías llegar a (N, M). Entonces, debe imprimir un número mínimo de movimientos para alcanzar (N, M), y si no es posible, imprima -1. NOTA: No puedes saltar fuera de la array. (es decir, en cualquier movimiento i+m[i][j] < N o j+m[i][j]<M). ( 75 puntos )
Sugerencia : distancia mínima entre el origen y el destino utilizando el algoritmo BFS.
- Hay N paquetes diferentes. el i-ésimo paquete es de X[i] días y el precio de ese paquete es Y[i]. Hay M clientes. el j-ésimo cliente quiere el paquete de al menos A[j] días y no quiere gastar más de B[j] en ningún paquete. Un paquete puede acomodar como máximo a un cliente y un cliente puede comprar como máximo un paquete. Tienes que encontrar el número máximo de paquetes que puedes vender. ( 100 puntos )
- Dadas dos strings binarias A y B. En un movimiento, puede elegir dos números de ajuste cualquiera de la string A y reemplazar cualquiera de ellos con XOR de ellos y otro con OR de ellos. Ej : A=001 01 10. Elegiste 0 y 1 entonces, 0 XOR 1=1 y 0 OR 1=1 entonces, 01 se convierte en 11. Puedes aplicar este movimiento en la string A cualquier número de veces y es posible hacer string B de A luego devuelva SÍ de lo contrario NO. ( 50 puntos )
Mi primero y tercero son aceptados y el segundo está parcialmente corregido y obtuve 90 de 100 en segundo. Entonces, estoy preseleccionado para la próxima ronda junto con los otros 47 estudiantes.
Ronda Dos (Ronda Técnica – Presencial) | Entrevista en línea:
El entrevistador fue muy agradable e hizo un ambiente muy cómodo. Primero se presentó y también me explicó sobre su trabajo y proyecto. Luego me pidió que me presentara. Luego me hizo una pregunta de codificación.
- Dada una string numérica de longitud N y un número entero K. Debe borrar el dígito K de la string, es decir, la string restante es la más pequeña posible. EJ : dada la string 56138451 y K = 3, luego borre 6 (en el 2), 5 (en el 1), 8 (en el 5). Por lo tanto, la respuesta es 13451.
Mi primer enfoque fue incorrecto y luego me pidió que tomara diferentes entradas y encontrara la salida y luego llegué con el método de fuerza bruta de complejidad temporal O(K*N). Discutimos este enfoque y me pidió que redujera la complejidad del tiempo. Probé diferentes formas y, por fin, se me ocurrió un enfoque O(N). Discutimos ese enfoque y luego pidió implementar ese enfoque.
Por último, me preguntó si tenía alguna pregunta para él.
Ronda Tres (Ronda Técnica – Presencial) | Entrevista en línea:
El entrevistador ha comenzado directamente con la pregunta de codificación.
- Tienes un espacio vacío de longitud L. dada una array W. W[i] es el ancho del i-ésimo árbol. W1, W2…… todos son diferentes y tienes muchos árboles de ese ancho. Tienes que plantar un árbol en un espacio de longitud L, es decir, no queda ningún espacio vacío, en otras palabras, la suma del ancho de los árboles plantados es L. Esta es una pregunta estándar de DP. Por favor, revise el problema de DP de cambio de moneda. (Esta es la misma pregunta). Aquí está el enlace de ese problema: https://www.geeksforgeeks.org/coin-change-dp-7/
Primero le dije que este problema tiene ambas propiedades de DP. (Subproblema superpuesto y estructura óptima) y luego escribí la ecuación matemática de DP y luego discutí este enfoque con él. Me pidió que implementara esto y también me pidió que dibujara una tabla de DP.
- Discutimos sobre Hashmap en detalles y me pidió que escribiera una clase de hashmap. Implementé una clase Hashmap usando modular como una función hash y escribí el método de inserción y búsqueda en la clase.
- Por último, me dio una situación como si tuviera que priorizar al estudiante en función de la cantidad de entrevistas que ha dado (el estudiante con una menor cantidad de entrevistas va primero). Si dos estudiantes han dado el mismo número de entrevistas, el estudiante con una puntuación más alta en el examen va primero y la puntuación del examen es única. luego me preguntó qué estructura de datos debo usar y cómo puedo resolver este problema. Le dije que podemos usar set<pair<int, int>>. Pero me dijo que si en otros idiomas no es compatible con el conjunto, ¿entonces qué? Entonces, le expliqué que también podemos crear nuestra propia estructura de datos sobre la base de un árbol de búsqueda binario y un árbol AVL y luego discutimos sobre el árbol de búsqueda binario.
Cuarta Ronda (Ronda Técnica – Presencial) | Entrevista en línea:
hay dos entrevistadores en esta ronda. Me hizo la siguiente pregunta,
- https://www.geeksforgeeks.org/detect-loop-in-a-linked-list/ (Primero le pregunté si podía cambiar el valor del Node pero me dijo que asumiera que la lista de enlaces es inmutable Entonces, discuto y implementado el algoritmo de detección del ciclo de Floyd).
- https://www.geeksforgeeks.org/write-c-code-to-determine-if-two-trees-are-identical/
- https://www.geeksforgeeks.org/check-if-a-binary-tree-is-subtree-of-another-binary-tree/
Declaración del problema: Dada mi ubicación y dada una serie de N ubicaciones de controladores diferentes. Entonces, ¿cómo puedo encontrar la ubicación del controlador más cercana? Les dije que usaran set<pair<int, int>> y el primer argumento es la distancia del i-ésimo controlador de mí y el segundo argumento es un índice del controlador que es I. y discutir la complejidad temporal de la función de inserción y borrado de conjunto y algoritmo de solución de este problema.
Declaración del problema: hay un edificio del piso N y hay dos ascensores en ese edificio y tengo que diseñar un algoritmo eficiente en el tiempo para estos dos ascensores. Dijo que no existe una solución óptima para esto, pero solo quería saber cuántos escenarios diferentes se pueden pensar.
Por fin, vio mi CV y me hizo una pregunta sobre mi proyecto. y luego me preguntó si tenía alguna pregunta para alguno de ellos.
Ronda final (HR) | Entrevista en línea:
Fue una ronda muy interesante y muy relajada. Hizo una pregunta muy típica de recursos humanos como ¿Por qué quieres unirte a Sprinklr? Preséntate. Luego hizo una pregunta de mi currículum.
Por último, me preguntó si tenía alguna pregunta para ella. Hacer preguntas al entrevistador es una buena señal, ya que muestra su interés en la empresa.
Veredicto final: SELECCIONADO
Publicación traducida automáticamente
Artículo escrito por nmakadiya1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA