Die optimale Matrix (für den eher engen Umfang dieser Herausforderung) wird erhalten, indem die Elemente aus den entsprechenden Zeilen und Spalten einer quadratischen Matrix "gezippt" werden und das Maximum von jedem Paar erhalten wird.
Zum Beispiel mit der folgenden Matrix:
4 5 6
1 7 2
7 3 0
Sie können es mit ihren Transponierten kombinieren zu bekommen: [[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]
. Wenn Sie jedes Paar von Listen zip, erhalten Sie die folgende: [[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]
. Der letzte Schritt besteht darin, das Maximum jedes Paares zu erhalten, um die optimale Matrix zu erhalten:
4 5 7
5 7 3
7 3 0
Ihre Aufgabe ist es, die optimale Matrix einer als Eingabe gegebenen Quadratmatrix auszugeben. Die Matrix enthält nur Ganzzahlen. I / O kann in jedem vernünftigen Format erfolgen. Der kürzeste Code in Bytes (entweder in UTF-8 oder in der benutzerdefinierten Codierung der Sprache) gewinnt!
Tests
[[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]]
quelle
[1,2,3,4]
statt[[1,2],[3,4]]
? Würde sparen ~ 33%Antworten:
Gelee , 2 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
»
aller Welt benimmt sich das so ?!max
macht dasselbe.Haskell , 40 Bytes
Probieren Sie es online!
Ich würde dies als ungolf:
... was so viel eleganter ist.
quelle
Schale ,
54 BytesWhoop, habe noch nie
‡
zuvor benutzt (oder†
):Probieren Sie es online!
Erläuterung
quelle
Oktave , 13 Bytes
Probieren Sie es online!
quelle
MATL , 6 Bytes
Probieren Sie es online!
Erläuterung:
quelle
_t!Xl_
undtt!&Xl
.APL (Dyalog Unicode) , 3 Bytes
Anonyme implizite Präfixfunktion.
Probieren Sie es online!
⊢
Streit⌈
Plafond mit⍉
transponiertes Argumentquelle
JavaScript (ES6), 48 Byte
Testfälle
Code-Snippet anzeigen
quelle
J , 4 Bytes
Tacit-Präfix-Funktion.
Probieren Sie es online!
>.
Decke [des Arguments] mit|:
das transponierte Argumentquelle
f=:
. : P Zuerst dachte ich, dass Sie die Bytecount um 3 Bytes reduziert ...<.
soll sein>.
Japt ,
12108 BytesSchau, Ma, kein Transponieren oder Zippen!
Versuch es
quelle
CJam , 8 Bytes
Anonymer Block (Funktion), der die Eingabe vom Stapel nimmt und durch die Ausgabe ersetzt.
Probieren Sie es online! Oder überprüfen Sie alle Testfälle .
Erläuterung
quelle
R , 23 Bytes
Probieren Sie es online!
Dies entspricht den meisten anderen Antworten. R hat jedoch zwei unterschiedliche
max
Funktionen für die beiden allgemeinen Szenarien:quelle
Sauber , 58 Bytes
Ich denke nicht, dass dies einer Erklärung bedarf.
Probieren Sie es online!
quelle
C (gcc) ,
79,77BytesProbieren Sie es online!
Nimmt ein flaches ganzzahliges Array
A
und die Matrixdimensionn
(da die Matrix quadratisch sein muss) als Eingabe. Gibt eine flache Ganzzahl-Array-Zeichenfolgendarstellung an stdout aus.quelle
Julia 0,6 , 13 Bytes
max.
max
Wendet die Funktion elementweise auf ihre Arugments an.Probieren Sie es online!
quelle
05AB1E , 7 Bytes
Probieren Sie es online!
Erläuterung
quelle
Gelee , 7 Bytes
Probieren Sie es online!
quelle
Python 2 , 45 Bytes
Probieren Sie es online!
Danke an totalhuman für ein paar Bytes gespart.
quelle
Pari / GP , 21 Bytes
Probieren Sie es online!
quelle
Wolfram-Sprache (Mathematica) , 23 Byte
Ein Port meiner Pari / GP Antwort .
ist\[Transpose]
.Probieren Sie es online!
quelle
Mathematica , 30 Bytes
-8 Bytes dank Jonathan Frech.
Probieren Sie es online!
quelle