Давайте определим функцию «развернутого размера» uвложенного списка l(содержащего только списки) по следующим правилам:
- Если
lпусто, тоu(l)1. - Если
lне пусто,u(l)равно сумме развернутых размеров каждого элемента вlплюс один.
Ваша задача - написать программу (или функцию), которая принимает список в качестве входных данных и выводит (или возвращает) развернутый размер списка.
Тестовые случаи:
[] -> 1
[[[]],[]] -> 4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]] -> 4
Это код-гольф , поэтому выигрывает самая короткая (в байтах) программа.
[[[]][]]вместо этого [[[]],[]]во втором примере?
["This is some text [with square brackets in] ...[& maybe more than one pair]"]?
]действительно кажется самым коротким решением во многих языках, есть также много ответов, которые фактически решают эту проблему посредством манипулирования списком, и, по крайней мере, в esolangs подсчет вхождений фиксированного символа также весьма отличается от подсчета вхождения входного символа.
()вместо[]?