[Archivo] Matemáticas puras, física, química, etc.: problemas de entrenamiento cerebral no relacionados con el comercio de ninguna manera - página 583

 
MikeM:

Sobre el reloj:

4 minutos después de la salida flip 4 minutos después de la salida

después de voltear en 4 minutos 4 minutos, en 7 minutos 3 minutos.

después de otros 3 minutos

en 4 minutos 1 min, en 7 minutos 0

vuelta a los 7 minutos

en 4 minutos 1 min, en 7 minutos 7

después de otro minuto.

4 minutos 0, 7 minutos 6

girar sobre los 7 minutos.

en 4 minutos 0, en 7 minutos 1

en otro minuto - ¡el momento adecuado!

correctamente)
 
La primera pasada cuenta los unos, los dos y los tres, y la segunda llena la matriz "ordenada" con el número correcto de números
 
Primera pasada de recuento, segunda pasada de escritura. O(n) por supuesto.
 
GaryKa:

Aquí hay un rompecabezas.

Claro, es aburrido, pero en las entrevistas funciona como una apoteosis del conocimiento de la clasificación de las matrices).


Entonces, un problema de clasificación

Hay una matriz de N celdas, en la que se colocan unidades, dos y tres en orden aleatorio.

Construye el mejor algoritmo de ordenación.


Es decir, ¿sólo 3 opciones de datos?

Primera pasada: cuenta cuántos unos, cuántos dos y cuántos tres.

Segundo pase: llenamos.

Total 2 pases.

 
MikeM:
Primera pasada - contar unos, dos y tres, segunda pasada - llenar la matriz "ordenada" con la cantidad correcta de números correctos
Sí )) pobres candidatos obstruidos por las preguntas anteriores sobre la clasificación de lo que no debe hacer para la diversión de la audiencia, y la burbuja, y las inserciones, y todas las combinaciones con excepciones
 
GaryKa:
Sí )) los pobres candidatos, demasiado encadenados por las preguntas de clasificación anteriores, hacen lo que hacen para entretener al público, con burbujas, muestreos y todo tipo de combinaciones con excepciones
Lo que necesites no es complicado. Todo lo que sea complicado es innecesario.
 

Una pregunta sencilla (para los programadores):

A+B=...

 
lvalor esperado :)
 
Este no es un operador de ningún idioma. Es el lado izquierdo de la igualdad. ¿Qué debe escribirse en el lado derecho?
 
sand:


¿Es decir, sólo 3 variantes de datos?

Primera pasada: cuenta cuántos unos, cuántos dos y cuántos tres.

Segundo pase: rellenar.

Total 2 pases.

En una sola pasada:

Crea una copia vacía de un array del mismo tamaño, e inicialízala con dos.

Vamos desde el principio de la matriz. Si encontramos el 1, lo copiamos desde el principio; si encontramos el 3, lo copiamos desde el final.