Hãy xác định chức năng "kích thước không bao bọc" u
của danh sách lồng nhau l
(chỉ chứa danh sách) theo các quy tắc sau:
- Nếu
l
trống, thìu(l)
là 1. - Nếu
l
không trống,u(l)
bằng tổng kích thước chưa mở của mọi phần tử trongl
, cộng với một.
Nhiệm vụ của bạn là viết một chương trình (hoặc hàm) lấy danh sách làm đầu vào và đầu ra (hoặc trả về) kích thước chưa mở của danh sách.
Các trường hợp thử nghiệm:
[] -> 1
[[[]],[]] -> 4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]] -> 4
Đây là môn đánh gôn , vì vậy chương trình ngắn nhất (tính bằng byte) sẽ thắng.
[[[]][]]
thay vì [[[]],[]]
trong ví dụ thứ hai của bạn không?
["This is some text [with square brackets in] ...[& maybe more than one pair]"]
gì?
]
dường như là giải pháp ngắn nhất trong nhiều ngôn ngữ, nhưng cũng có rất nhiều câu trả lời thực sự giải quyết thách thức này thông qua thao tác danh sách, và ít nhất là trong esolang đếm số lần xuất hiện của một ký tự cố định cũng khác hoàn toàn với việc đếm sự xuất hiện của một nhân vật đầu vào.
()
thay vì[]
?