Простое испытание для вашего вечера понедельника (ну, или утро вторника в другой половине мира ...)
В качестве входных данных вы получаете вложенный, потенциально рваный массив натуральных чисел:
[1, [[2, 3, [[4], 5], 6, [7, 8]], 9, [10, [[[11]]]], 12, 13], 14]
Ваша задача - определить его глубину, которая является наибольшей глубиной вложенности любого целого числа в списке. В этом случае глубина 11
IS 6
, которая является самой крупной.
Вы можете предположить, что ни один из массивов не будет пустым.
Вы можете написать программу или функцию, принимая ввод через STDIN (или ближайшую альтернативу), аргумент командной строки или аргумент функции и выводя результат через STDOUT (или ближайшую альтернативу), возвращаемое значение функции или параметр функции (out).
Ввод может быть сделан в любом удобном формате списка или строки, который поддерживает непрямоугольные массивы (с вложенными массивами различной глубины), если фактическая информация не была предварительно обработана.
Вы не должны использовать какие-либо встроенные модули, связанные с формой массивов (включая встроенные модули, которые решают эту задачу и получают размеры вложенного массива). Единственное исключение - получение длины массива.
Применяются стандартные правила игры в гольф .
Тестовые случаи
[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
\
на входах? РЕДАКТИРОВАТЬ: фигу просто попробовал это так. Это даже не работает. Черт возьми, я не могу использовать CMD args?