Recientemente, se llevó a cabo una campaña en el campus para Codenation para el pasante de ingeniero de desarrollo de software.
El proceso fue:
1. Prueba en línea
2. Entrevista telefónica
3. Entrevista por Skype
La prueba en línea para el campus se llevó a cabo el 15 de septiembre de 2020. El desafío de codificación fuera del campus conocido como CodeAgon para la contratación del mismo puesto se llevará a cabo el 28 de septiembre. Entonces, solo quería compartir las preguntas que se hicieron en la prueba en línea.
Había tres preguntas:
Alice tiene un generador de números aleatorios. El generador genera un número aleatorio de 1 a N .
Ahora Alice quiere saber el número esperado de vueltas hasta que se generen K elementos distintos.
Ayuda a Alicia a encontrar este valor módulo 10 9 +7 .
Restricciones del problema:
1<=K<=N<=10 5
Formato de entrada:
La entrada consta de 2 argumentos, N=A y K=B en este orden.
Formato de salida:
Devuelve un solo entero, el valor esperado módulo 10 9 +7 .
Dada una cuadrícula A de tamaño N*M , 2 jugadores juegan en ella en turnos alternos.
En cada turno, un jugador elige un subconjunto de elementos de cualquier fila y reemplaza cada uno de ellos con su divisor adecuado.
Un divisor propio de un número N es cualquier divisor de N, no igual a N.
El jugador que no puede moverse, pierde. Determinar el ganador del juego.
Restricciones del problema:
- 1<=N, M<=10 3
- 1<=A[i][j]<=10 6
Formato de entrada:
La única línea de argumento contiene la cuadrícula A .
Formato de salida:
Devuelve un solo número entero, 1 o 2 , según el jugador que gane.
Dado un árbol de N Nodes números 0 a N-1 . Cada Node tiene un valor binario, es decir, 0 o 1 indicado por la array de enteros A.
La belleza de un i -ésimo Node es 2 i *A[i] . La belleza total del Árbol es la suma de la belleza de cada Node.
Aman es supersticioso y aceptará el árbol solo que su belleza total es 2 N -1 o 0 .
Te pidió que hicieras aceptable el árbol, pero solo puedes usar la siguiente operación.
- En cada operación, seleccione cualquier Node X y llame a flip(X) .
Python
flip(X): for (v: 0 to N-1): if(all nodes in path from X to node v have same value) A[v] = 1 - A[v]
Encuentre el número mínimo de operaciones requeridas para que el árbol sea aceptable.
Restricciones del problema:
- 1<=N<=10 5
- 0<=A[yo] <=1
- 0<=B[i][0], B[i][1]<=N-1
Formato de entrada:
El primer argumento es una array de enteros A de tamaño N que denota el valor del Node.
El segundo argumento es una array 2D B de tamaño (N-1)*2 donde el i -ésimo borde está entre el Node B[i][0] y B[i][1]
Formato de salida:
Devuelve un número entero que indica el número mínimo de operaciones requeridas.
Publicación traducida automáticamente
Artículo escrito por rishithareddysingireddy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA