Detalles
Escriba una función o programa que, dada una matriz (o lista), que contiene solo enteros, devuelve o genera una matriz con todos los subelementos invertidos. Es decir, invierta todos los elementos de la matriz más profunda, luego la segunda más profunda, etc. No es necesario especificar las dimensiones, pero la función o el programa deben funcionar para matrices irregulares en el formato nativo de su lenguaje de programación.
Ejemplos
Esta:
[[1,2], [3,4]]
Se convertiría en esto:
[[4,3], [2,1]]
Esta:
[[[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9]],
[[10,11,12], [13,14,15], [16,17,18]],
[[19,20,21], [22,23,24], [25,26,27]],
[[28,29,30], [31,32,33], [34,35,36]],
[[37,38,39], [40,41,42], [43,44,45]],
[[46,47,48], [49,50,51], [52,53,54]]]
Se convertiría en esto:
[[[54,53,52], [51,50,49], [48,47,46]],
[[45,44,43], [42,41,40], [39,38,37]],
[[36,35,34], [33,32,31], [30,29,28]],
[[27,26,25], [24,23,22], [21,20,19]],
[[18,17,16], [15,14,13], [12,11,10]],
[[ 9, 8, 7], [ 6, 5, 4], [ 3, 2, 1]]]
Esta:
[[[1,2]],
[[3,4], [5]],
[[6,7,8], [9], [10,11]],
[[[12,13], [14,15]], [16], [17,18,19,20]],
[21]]
Se convertiría en esto:
[[21],
[[20,19,18,17], [16], [[15,14], [13,12]]],
[[11,10], [9], [8,7,6]],
[[5], [4,3]],
[[2,1]]]
Prima
Con suerte, esto alentará las respuestas en algunos lenguajes de programación orientados a objetos ...
-50% Bytecount Si su programa puede tomar como entrada una matriz (o lista) con sus miembros de varios tipos (estos pueden ser en forma de objetos) y revertir con éxito todas las matrices.
Esta:
[["Foo",["Bar",1]],
2,
["Baz"],
[[["Qux"],3],3.14]]
Se convertiría en esto:
[[3.14,[3,["Qux"]]],
["Baz"],
2,
[[1,"Bar"],"Foo"]]