Experiencia de entrevista de Codenation | Prueba en línea

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *