The matrix yang optimal (untuk lingkup yang agak sempit tantangan ini) diperoleh dengan "zipping" unsur-unsur dari yang sesuai baris dan kolom dari matriks persegi dan mendapatkan maksimum masing-masing pasangan.
Misalnya, diberikan matriks berikut:
4 5 6
1 7 2
7 3 0
Anda dapat menggabungkan dengan transposnya untuk mendapatkan: [[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]
. Jika Anda zip setiap pasangan daftar, Anda mendapatkan berikut: [[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]
. Langkah terakhir adalah untuk mendapatkan maksimum dari setiap pasangan untuk mendapatkan matriks yang optimal:
4 5 7
5 7 3
7 3 0
Tugas Anda adalah untuk menghasilkan matriks optimal dari matriks persegi yang diberikan sebagai input. Matriks hanya akan berisi bilangan bulat. I / O dapat dilakukan dalam format apa pun yang wajar. Kode terpendek dalam byte (baik dalam UTF-8 atau dalam pengkodean kustom bahasa) menang!
Tes
[[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]]
sumber
[1,2,3,4]
bukan[[1,2],[3,4]]
? Akan menghemat ~ 33%Jawaban:
Jelly , 2 byte
Cobalah online!
Bagaimana itu bekerja
sumber
»
berperilaku seperti itu ?!max
melakukan hal yang sama.Haskell , 40 byte
Cobalah online!
Saya akan ungolf ini sebagai:
... yang jauh lebih elegan.
sumber
Sekam ,
54 byteWhoop, tidak pernah bisa digunakan
‡
sebelumnya (atau†
):Cobalah online!
Penjelasan
sumber
Oktaf , 13 byte
Cobalah online!
sumber
MATL , 6 byte
Cobalah online!
Penjelasan:
sumber
_t!Xl_
dantt!&Xl
.APL (Dyalog Unicode) , 3 byte
Fungsi awalan diam-diam anonim.
Cobalah online!
⊢
argumen⌈
langit-langit dengan⍉
argumen yang dialihkansumber
JavaScript (ES6), 48 byte
Uji kasus
Tampilkan cuplikan kode
sumber
J , 4 byte
Fungsi awalan Tacit.
Cobalah online!
>.
langit-langit [argumen] dengan|:
argumen yang dialihkansumber
f=:
. : P pada awalnya saya pikir Anda mengurangi bytecount oleh 3 byte ...<.
seharusnya>.
Japt,
12108 bytesLook, Ma, no transposing or zipping!
Try it
sumber
CJam, 8 bytes
Anonymous block (function) that takes the input from the stack and replaces it by the output.
Try it online! Or verify all test cases.
Explanation
sumber
R, 23 bytes
Try it online!
This is equivalent to most other answers. However, R has two distinct
max
functions for the two common scenarios:sumber
Clean, 58 bytes
I don't think this needs an explanation.
Try it online!
sumber
C (gcc),
7977 bytesTry it online!
Takes a flat integer array
A
and the matrix dimensionn
(as the matrix has to be square) as input. Outputs a flat integer array string representation to stdout.sumber
Julia 0.6, 13 bytes
max.
applies the functionmax
elementwise to it's arugments.Try it online!
sumber
05AB1E, 7 bytes
Try it online!
Explanation
sumber
Jelly, 7 bytes
Try it online!
sumber
Python 2, 45 bytes
Try it online!
Thanks to totallyhuman for a few bytes saved.
sumber
Pari/GP, 21 bytes
Try it online!
sumber
Wolfram Language (Mathematica), 23 bytes
A port of my Pari/GP answer.
is\[Transpose]
.Try it online!
sumber
Mathematica, 30 bytes
-8 bytes thanks to Jonathan Frech.
Try it online!
sumber