Da questa domanda stackoverflow
Dato un array 2D di dimensioni , emette i valori in senso antiorario. L'output deve iniziare dall'esterno verso l'interno e il punto iniziale sarà sempre .
Esempio dato:
I valori dei bordi in senso antiorario sono quindi .
Ora ripetiamo il processo per i valori interiori. Questo finirà con una matrice come la seguente
E i valori interni sono quindi
Il risultato finale sarà quindi
Regole
- Assumi un input non vuoto
- Assumi valori di matrice come numeri interi positivi
- Si applicano i metodi I / O standard
- Si applicano le regole standard del code-golf e i criteri di vincita
Alcuni casi di test
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