La matrice optimale (pour la portée plutôt étroite de ce défi) est obtenue en «zippant» les éléments des lignes et colonnes correspondantes d'une matrice carrée et en obtenant le maximum de chaque paire.
Par exemple, étant donné la matrice suivante:
4 5 6
1 7 2
7 3 0
Vous pouvez le combiner avec sa transposition pour obtenir: [[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]
. Si vous zip chaque paire de listes, vous obtenez ce qui suit: [[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]
. La dernière étape consiste à obtenir le maximum de chaque paire pour obtenir la matrice optimale:
4 5 7
5 7 3
7 3 0
Votre tâche consiste à sortir la matrice optimale d'une matrice carrée donnée en entrée. La matrice ne contiendra que des entiers. Les E / S peuvent être effectuées dans n'importe quel format raisonnable. Le code le plus court en octets (soit en UTF-8 ou dans l'encodage personnalisé du langage) gagne!
Les 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]]
[1,2,3,4]
au lieu de[[1,2],[3,4]]
?