La matriz óptima (para el alcance bastante limitado de este desafío) se obtiene "comprimiendo" los elementos de las filas y columnas correspondientes de una matriz cuadrada y obteniendo el máximo de cada par.
Por ejemplo, dada la siguiente matriz:
4 5 6
1 7 2
7 3 0
Se puede combinar con su transpuesta para obtener: [[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]
. Si usted zip cada par de listas, se obtiene lo siguiente: [[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]
. El último paso es obtener el máximo de cada par para obtener la matriz óptima:
4 5 7
5 7 3
7 3 0
Su tarea es generar la matriz óptima de una matriz cuadrada dada como entrada. La matriz solo contendrá enteros. La E / S se puede hacer en cualquier formato razonable. ¡El código más corto en bytes (ya sea en UTF-8 o en la codificación personalizada del idioma) gana!
Pruebas
[[172,29], [29,0]] -> [[172,29], [29,0]] [[4,5,6], [1,7,2], [7,3,0]] -> [[4,5,7], [5,7,3], [7,3,0 ]] [[1,2,3], [1,2,3], [1,2,3]] -> [[1,2,3], [2,2,3], [3,3,3 ]] [[4,5, -6], [0,8, -12], [- 2,2,4]] -> [[4,5, -2], [5,8,2], [- 2,2,4]]
fuente
[1,2,3,4]
lugar de[[1,2],[3,4]]
? Ahorraría ~ 33%Respuestas:
Jalea , 2 bytes
Pruébalo en línea!
Cómo funciona
fuente
»
comporta así?max
hace lo mismo.Haskell , 40 bytes
Pruébalo en línea!
Me gustaría deshacer esto como:
... que es mucho más elegante.
fuente
Casco ,
54 bytesWhoop, nunca tuve que usar
‡
antes (o†
):Pruébalo en línea!
Explicación
fuente
Octava , 13 bytes
Pruébalo en línea!
fuente
MATL , 6 bytes
Pruébalo en línea!
Explicación:
fuente
_t!Xl_
ytt!&Xl
.APL (Dyalog Unicode) , 3 bytes
Función de prefijo tácito anónimo.
Pruébalo en línea!
⊢
argumento⌈
techo con⍉
argumento transpuestofuente
JavaScript (ES6), 48 bytes
Casos de prueba
Mostrar fragmento de código
fuente
J , 4 bytes
Función de prefijo tácito.
Pruébalo en línea!
>.
techo [del argumento] con|:
el argumento transpuestofuente
f=:
. : P al principio pensé que redujiste el bytecount en 3 bytes ...<.
se supone que es>.
Japt ,
12108 bytes¡Mira, mamá, no hay transposición ni compresión!
Intentalo
fuente
CJam , 8 bytes
Bloque anónimo (función) que toma la entrada de la pila y la reemplaza por la salida.
Pruébalo en línea! O verificar todos los casos de prueba .
Explicación
fuente
R , 23 bytes
Pruébalo en línea!
Esto es equivalente a la mayoría de las otras respuestas. Sin embargo, R tiene dos
max
funciones distintas para los dos escenarios comunes:fuente
Limpio , 58 bytes
No creo que esto necesite una explicación.
Pruébalo en línea!
fuente
C (gcc) ,
7977 bytesPruébalo en línea!
Toma una matriz entera plana
A
y la dimensión de la matrizn
(ya que la matriz debe ser cuadrada) como entrada. Emite una representación de cadena de matriz entera plana en stdout.fuente
Julia 0.6 , 13 bytes
max.
aplica la función pormax
elementos a sus argumentos.Pruébalo en línea!
fuente
05AB1E , 7 bytes
Pruébalo en línea!
Explicación
fuente
Jalea , 7 bytes
Pruébalo en línea!
fuente
Python 2 , 45 bytes
Pruébalo en línea!
Gracias a totalmente humano por unos pocos bytes guardados.
fuente
Pari / GP , 21 bytes
Pruébalo en línea!
fuente
Wolfram Language (Mathematica) , 23 bytes
Un puerto de mi respuesta Pari / GP .
es\[Transpose]
.Pruébalo en línea!
fuente
Mathematica, 30 bytes
-8 bytes gracias a Jonathan Frech.
Pruébalo en línea!
fuente