Un desafío simple para su lunes por la noche (bueno, o martes por la mañana en la otra mitad del mundo ...)
Se le da como entrada una matriz anidada, potencialmente desigual, de enteros positivos:
[1, [[2, 3, [[4], 5], 6, [7, 8]], 9, [10, [[[11]]]], 12, 13], 14]
Su tarea es determinar su profundidad, que es la mayor profundidad de anidamiento de cualquier número entero en la lista. En este caso, la profundidad de 11
es 6
, que es mayor.
Puede suponer que ninguna de las matrices estará vacía.
Puede escribir un programa o función, tomando la entrada a través de STDIN (o la alternativa más cercana), argumento de línea de comando o argumento de función y generando el resultado a través de STDOUT (o la alternativa más cercana), el valor de retorno de la función o el parámetro de función (out).
La entrada puede tomarse en cualquier lista conveniente o formato de cadena que admita matrices no rectangulares (con matrices anidadas de diferentes profundidades), siempre que la información real no esté preprocesada.
No debe utilizar ninguna función integrada relacionada con la forma de las matrices (incluidas las integradas que resuelven este desafío, que le dan las dimensiones de una matriz anidada). La única excepción a esto es obtener la longitud de una matriz.
Aplican reglas estándar de código de golf .
Casos de prueba
[1] -> 1
[1, 2, 3] -> 1
[[1, 2, 3]] -> 2
[3, [3, [3], 3], 3] -> 3
[[[[1], 2], [3, [4]]]] -> 4
[1, [[3]], [5, 6], [[[[8]]]], 1] -> 5
[1, [[2, 3, [[4], 5], 6, [7, 8]], 9, [10, [[[11]]]], 12, 13], 14] -> 6
[[[[[[[3]]]]]]] -> 7
≡
es la primitiva incorporada de APL para exactamente esto .
\
en las entradas? EDITAR: no importa solo lo intenté así. Eso ni siquiera funciona. Maldición, ¿no puedo usar args CMD?