Trong thử thách này, nhiệm vụ của bạn là tạo ra một chương trình lấy một mảng lồng nhau và trả về một mảng phẳng một chiều. Ví dụ [10,20,[30,[40]],50]
nên xuất ra [10,20,30,40,50]
.
Đầu vào
Đầu vào sẽ là một mảng lồng nhau (ví dụ. [10,20,[[[10]]]]
). Nó sẽ chỉ chứa các số nguyên (cả âm và dương), Chuỗi và Mảng. Bạn có thể lấy đầu vào làm đối số chức năng, STDIN hoặc bất cứ điều gì phù hợp với ngôn ngữ của bạn. Bạn có thể giả sử rằng mảng đầu vào sẽ không có mảng trống.
Đầu ra
Đầu ra sẽ là một mảng một chiều được làm phẳng với các phần tử cùng loại như trong mảng lồng nhau và theo thứ tự CÙNG.
Các trường hợp thử nghiệm
[10,20,30] -> [10,20,30]
[[10]] -> [10]
[["Hi"],[[10]]] -> ["Hi",10]
[[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20]
[[["[]"],"[]"]] -> ["[]","[]"]
Hãy yêu cầu làm rõ bất kỳ bằng cách sử dụng ý kiến. Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte sẽ thắng!
Lưu ý: Nếu ngôn ngữ của bạn có tích hợp sẵn cho việc này, thì bạn KHÔNG được sử dụng ngôn ngữ đó.
Chỉnh sửa
Vui lòng bao gồm một liên kết đến một trang web nơi mã của bạn có thể được thực thi.
unflatten
câu hỏi nhưng không có flatten
câu hỏi nào về PPCG.
["[",[["[",],'[',"['['"]]
như một trường hợp thử nghiệm.
'
và "
dưới dạng phân cách. (Nhưng tôi đồng ý rằng một trường hợp thử nghiệm liên quan đến [
, ]
, "
và \
bên trong một chuỗi sẽ có ích.)