การเต้นรำในหลายมิติ
ท้าทาย กำหนดnอาร์เรย์ -dimensional ของจำนวนเต็มและการเรียงลำดับของnจำนวนธรรมชาติแรกให้เปลี่ยนขนาดอาร์เรย์ตามลำดับ รายละเอียด ความท้าทายนี้เป็นแรงบันดาลใจ permuteMATLABs การสาธิต การเรียงสับเปลี่ยนจะได้รับเป็นรายการจำนวนเต็มเช่น[1,3,2]หมายถึง 1 ได้รับการแมปกับ 1, 2 ได้รับการแมปกับ 3 และ 3 ได้รับการแมปที่ 2 (นี่iคือรายการที่ th คือค่าที่iได้รับการแมป) แต่คุณสามารถใช้รูปแบบอื่นที่สะดวกเช่นรอบหรือฟังก์ชั่น ถ้าสะดวกยิ่งขึ้นคุณสามารถใช้การจัดทำดัชนีแบบ 0 อาร์เรย์สามารถสันนิษฐานได้ว่าเป็น "รูปสี่เหลี่ยมผืนผ้า" เต็มรูปแบบ - m1 x m2 x ... x mn(เช่นคุณสามารถสมมติได้ว่ามันไม่ได้เป็นขรุขระ / ขรุขระ ) คุณสามารถสันนิษฐานได้ว่าnไม่ใหญ่เกินไปเนื่องจากหลายภาษามีข้อ จำกัด ด้านขนาดในอาร์เรย์ซ้อน หากภาษาของคุณไม่รองรับอาเรย์หลายมิติคุณสามารถใช้สตริงที่แทนอาร์เรย์เป็นอินพุทได้ ตัวอย่าง nอาร์เรย์มิติใด ๆ ที่มีการเปลี่ยนค่าตัวตน[1,2,3,...,n]จะไม่มีการเปลี่ยนแปลง อาร์เรย์[[10,20,30],[40,50,60]]ที่มีการเปลี่ยนลําดับได้รับการแมปไป[2,1][[10,40],[20,50],[30,60]] อาร์เรย์[[[1,2],[3,4]],[[5,6],[7,8]]]ที่มีการเปลี่ยนลําดับได้รับการแมปไป[2,3,1][[[1,3],[5,7]],[[2,4],[6,8]]]