A partir desta pergunta stackoverflow
Dada uma matriz 2D do tamanho , produza os valores no sentido anti-horário. A saída deve começar de fora para dentro e o ponto inicial sempre será .
Exemplo dado:
Os valores das arestas no sentido anti-horário são então .
Agora repetimos o processo para os valores internos. Isso terminará com uma matriz como a seguinte
E os valores internos são então
O resultado final será então
Regras
- Assumir entrada não vazia
- Assuma valores de matriz como números inteiros positivos
- Aplicam-se métodos de E / S padrão
- Aplicam -se as regras padrão de código de golfe e os critérios de vencimento
Alguns casos de teste
Input
[
[1, 2, 3, 4, 5, 6, 7],
[8, 9, 10,11,12,13,14],
[15,16,17,18,19,20,21]
]
Output
1,8,15,16,17,18,19,20,21,14,7,6,5,4,3,2,9,10,11,12,13
--------------------------------------------------------
Input
[
[1,2,3],
[3,2,1],
[4,5,6],
[6,5,4],
[7,8,9],
[9,8,7]
]
Output
1,3,4,6,7,9,8,7,9,4,6,1,3,2,2,5,5,8
-----------------------------------------------------
Input
[
[1]
]
Output
1
-----------------------------------
Input
[
[1, 2],
[2, 1]
]
Output
1,2,1,2
-----------------------------------------------------
Input
[
[1,2,3,6,7],
[2,4,3,2,1],
[3,2,4,5,6],
[6,5,6,5,4],
[10,4,7,8,9],
[12,4,9,8,7]
]
Output
1,2,3,6,10,12,4,9,8,7,9,4,6,1,7,6,3,2,4,2,5,4,7,8,5,5,2,3,4,6