Rol: SDE1
Fuente: naukri.com
Ronda en línea: 2 preguntas de codificación con análisis de complejidad de tiempo
- Similar a las coordenadas K más cercanas de Origen. (Montón)
- Un poco de modificación de 2-Sum, pero lo hice en modo Brute Force y pasó.
En la última prueba MCQ basada en el comportamiento.
Después de 5 días, recibí un correo electrónico en el que se menciona que tendré una conexión rápida con RR. HH. para el proceso de rondas.
La ronda 1:
- Introducción rápida
- Iterador BST https://leetcode.com/problems/binary-search-tree-iterator/ (Medio)
- Calculadora básica https://leetcode.com/problems/basic-calculator/ (Difícil)
- Resolví ambos, pero para el último, mi código no estaba completo al 100% porque nos estábamos quedando sin tiempo, pero di el enfoque y la Complejidad de tiempo final.
La ronda 2:
- Paint House https://www.lintcode.com/problem/515/?_from=[‘ladder’]&fromId=[’16’] (Premium en Leetcode, por lo que se adjunta un recurso gratuito)
- BFS en Grid, la pregunta era como si le dieran Matrix 2D con 0,1 y una coordenada inicial a partir de la cual tiene que cubrir todos los 1 y decir cuánto tiempo mínimo tomará hacerlo y si queda 1 devolver -1 .
Ronda 3 (Comportamiento, tomada por SDM III):
- Esta Ronda fue como una breve Introducción, y comenzó con Preguntas LP
- Una fecha límite que te perdiste.
- Una Meta que pensaste que no vas a poder lograr pero lo lograste.
- Una tarea más desafiante que hiciste.
- Preguntas sobre conceptos básicos de CS, como la diferencia entre HTTP y HTTPS, subproceso y proceso, fuga de memoria en Java, Classfull IP y todas sus clases.
- Después de aproximadamente una semana, recibí un correo electrónico de que voy a tener mi última ronda la próxima semana.
Ronda 4:
- Una pequeña introducción
- Preguntas de LP
- 1 Preguntas de codificación (Ahora, para esto, quiero compartir que el entrevistador mismo tenía dudas, la pregunta era como si le dieran un árbol binario con al menos 2 niños y cada niño puede tener como máximo 2 padres, y tiene que encontrar una suma máxima de ruta de la raíz a la hoja)
- Le pregunté cuál es la estructura de ese Node, así que dijo lo que piensas. Yo escribí esto:
- Entonces dijo que sí, esto es (ahora estaba confundido, ¿cómo es que esto puede tener vínculos con Parent, tal vez no pueda conseguirlo?)
Java
class Node { int data; Node left; Node right } |
Ejemplo de caso de prueba:
1
/ \
2 3
/ \ / \
4 5 6
O/P: [1,3,6]
Java
int ans = 0; List<Integer> finalAns; private void dfs(TreeNode root, int csum, List<Integer> ds) { if(root==null) return; if(root.left==null && root.right==null) { if(csum > ans) { ans = csum; finalAns = ds; } return; } ds.add(root.val); dfs(root.left,csum+root.val,ds); dfs(root.right,csum+root.val,ds); ds.remove(ds.size()-1) } pubic List<Integer> solve(TreeNode root) { this.ans = 0; this.finalAns = new ArrayList<Integer>(); this.dfs(root,0,new ArrayList<Integer>()); return this.finalAns; }
Conclusión: tenga confianza en las preguntas de LP, analice primero la fuerza bruta.
Veredicto: Rechazado
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