รายละเอียด
เขียนฟังก์ชั่นหรือโปรแกรมที่กำหนดอาร์เรย์ (หรือรายการ) ที่มีจำนวนเต็มเท่านั้นส่งคืนหรือส่งออกอาร์เรย์ที่มีองค์ประกอบย่อยทั้งหมดกลับรายการ นั่นคือย้อนกลับองค์ประกอบทั้งหมดของอาร์เรย์ที่ลึกที่สุดจากนั้นลึกที่สุดที่สอง ฯลฯ ไม่จำเป็นต้องระบุขนาด แต่ฟังก์ชั่นหรือโปรแกรมจะต้องทำงานสำหรับอาร์เรย์ขรุขระในรูปแบบดั้งเดิมของภาษาโปรแกรมของคุณ
ตัวอย่าง
นี้:
[[1,2], [3,4]]
จะกลายเป็นสิ่งนี้:
[[4,3], [2,1]]
นี้:
[[[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9]],
[[10,11,12], [13,14,15], [16,17,18]],
[[19,20,21], [22,23,24], [25,26,27]],
[[28,29,30], [31,32,33], [34,35,36]],
[[37,38,39], [40,41,42], [43,44,45]],
[[46,47,48], [49,50,51], [52,53,54]]]
จะกลายเป็นสิ่งนี้:
[[[54,53,52], [51,50,49], [48,47,46]],
[[45,44,43], [42,41,40], [39,38,37]],
[[36,35,34], [33,32,31], [30,29,28]],
[[27,26,25], [24,23,22], [21,20,19]],
[[18,17,16], [15,14,13], [12,11,10]],
[[ 9, 8, 7], [ 6, 5, 4], [ 3, 2, 1]]]
นี้:
[[[1,2]],
[[3,4], [5]],
[[6,7,8], [9], [10,11]],
[[[12,13], [14,15]], [16], [17,18,19,20]],
[21]]
จะกลายเป็นสิ่งนี้:
[[21],
[[20,19,18,17], [16], [[15,14], [13,12]]],
[[11,10], [9], [8,7,6]],
[[5], [4,3]],
[[2,1]]]
โบนัส
หวังว่านี้จะสนับสนุนคำตอบในภาษาการเขียนโปรแกรมเชิงวัตถุบางอย่าง...
-50% Bytecountหากโปรแกรมของคุณสามารถรับข้อมูลเป็นอาร์เรย์ (หรือรายการ) ด้วยสมาชิกประเภทต่าง ๆ (สิ่งเหล่านี้สามารถอยู่ในรูปของวัตถุ) และย้อนกลับอาร์เรย์ทั้งหมดได้สำเร็จ
นี้:
[["Foo",["Bar",1]],
2,
["Baz"],
[[["Qux"],3],3.14]]
จะกลายเป็นสิ่งนี้:
[[3.14,[3,["Qux"]]],
["Baz"],
2,
[[1,"Bar"],"Foo"]]