De esta pregunta de stackoverflow
Dada una matriz 2D de tamaño , genera los valores en sentido antihorario. La salida debe comenzar desde afuera hacia adentro y el punto inicial siempre será .
Ejemplo dado:
Los valores de borde en sentido antihorario son entonces .
Ahora repetimos el proceso para los valores internos. Esto terminará con una matriz como la siguiente
Y los valores internos son entonces
El resultado final será
Reglas
- Asumir entrada no vacía
- Asumir valores de matriz como enteros positivos
- Se aplican los métodos estándar de E / S
- Se aplican las reglas estándar de código de golf y los criterios ganadores
Algunos casos de prueba
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