A matriz ideal (para o escopo bastante restrito desse desafio) é obtida "compactando" os elementos das linhas e colunas correspondentes de uma matriz quadrada e obtendo o máximo de cada par.
Por exemplo, dada a seguinte matriz:
4 5 6
1 7 2
7 3 0
Você pode combiná-lo com a sua transposição para obter: [[[4,5,6],[4,1,7]],[[1,7,2],[5,7,3]],[[7,3,0],[6,2,0]]]
. Se você zip cada par de listas, você obter o seguinte: [[(4,4),(5,1),(6,7)],[(1,5),(7,7),(2,3)],[(7,6),(3,2),(0,0)]]
. O último passo é obter o máximo de cada par para obter a matriz ideal:
4 5 7
5 7 3
7 3 0
Sua tarefa é produzir a matriz ideal de uma matriz quadrada fornecida como entrada. A matriz conterá apenas números inteiros. A E / S pode ser feita em qualquer formato razoável. O código mais curto em bytes (em UTF-8 ou na codificação personalizada do idioma) vence!
Testes
[[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]]
fonte
[1,2,3,4]
vez de[[1,2],[3,4]]
? Salvar como ~ 33%Respostas:
Gelatina , 2 bytes
Experimente online!
Como funciona
fonte
»
comporta assim ?!max
faz o mesmo.Haskell , 40 bytes
Experimente online!
Eu ungolf isso como:
... que é muito mais elegante.
fonte
Casca ,
54 bytesOpa, nunca usei
‡
antes (ou†
):Experimente online!
Explicação
fonte
Oitava , 13 bytes
Experimente online!
fonte
MATL , 6 bytes
Experimente online!
Explicação:
fonte
_t!Xl_
ett!&Xl
.APL (Dyalog Unicode) , 3 bytes
Função de prefixo tácito anônimo.
Experimente online!
⊢
argumento⌈
teto com⍉
argumento transpostofonte
JavaScript (ES6), 48 bytes
Casos de teste
Mostrar snippet de código
fonte
J , 4 bytes
Função de prefixo tácito.
Experimente online!
>.
teto [do argumento] com|:
o argumento transpostofonte
f=:
. : P no começo eu pensei que você reduziu o bytecount por 3 bytes ...<.
deve ser>.
Japonês ,
12108 bytesOlha, mãe, não há transposição ou fechamento!
Tente
fonte
CJam , 8 bytes
Bloco anônimo (função) que pega a entrada da pilha e a substitui pela saída.
Experimente online! Ou verifique todos os casos de teste .
Explicação
fonte
R , 23 bytes
Experimente online!
Isso é equivalente à maioria das outras respostas. No entanto, R tem duas
max
funções distintas para os dois cenários comuns:fonte
Limpo , 58 bytes
Eu não acho que isso precise de uma explicação.
Experimente online!
fonte
C (gcc) ,
7977 bytesExperimente online!
Pega uma matriz inteira plana
A
e a dimensão da matrizn
(como a matriz precisa ser quadrada) como entrada. Gera uma representação de seqüência de caracteres de matriz inteira plana em stdout.fonte
Julia 0.6 , 13 bytes
max.
aplica a funçãomax
elementwise a seus argumentos.Experimente online!
fonte
05AB1E , 7 bytes
Experimente online!
Explicação
fonte
Geléia , 7 bytes
Experimente online!
fonte
Python 2 , 45 bytes
Experimente online!
Graças ao totallyhuman por alguns bytes salvos.
fonte
Pari / GP , 21 bytes
Experimente online!
fonte
Wolfram Language (Mathematica) , 23 bytes
Uma porta da minha resposta Pari / GP .
é\[Transpose]
.Experimente online!
fonte
Mathematica , 30 bytes
-8 bytes graças a Jonathan Frech.
Experimente online!
fonte