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]]
[1,2,3,4]
bukan[[1,2],[3,4]]
? Akan menghemat ~ 33%