ในฐานะที่เป็นส่วนหนึ่งของอัลกอริธึมการบีบอัดมาตรฐาน JPEG จะเปิดใช้งานเมทริกซ์เป็นเวกเตอร์ตามแนวต้านของทิศทางสลับ:
งานของคุณคือใช้เมทริกซ์ (ไม่จำเป็นต้องเป็นสี่เหลี่ยมจัตุรัส) แล้วส่งคืนในรูปแบบที่ไม่ได้ควบคุม ตัวอย่างเช่น:
[1 2 3 4
5 6 7 8
9 1 2 3]
ควรให้ผลผลิต
[1, 2, 5, 9, 6, 3, 4, 7, 1, 2, 8, 3]
กฎระเบียบ
10
คุณอาจจะคิดว่าองค์ประกอบเมทริกซ์เป็นจำนวนเต็มบวกน้อยกว่า
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์
อินพุตเมทริกซ์อาจถูกกำหนดในรูปแบบรายการที่สะดวกไม่คลุมเครือซ้อนหรือรูปแบบสตริงหรือเป็นรายการแบบเรียบพร้อมกับมิติเมทริกซ์ทั้งสอง (หรือแน่นอนว่าเป็นเมทริกซ์หากภาษาของคุณมี)
เวกเตอร์เอาต์พุตอาจอยู่ในรูปแบบรายการแบบแบนหรือแบบสตริงที่สะดวกใด ๆ
ใช้กฎมาตรฐานของกอล์ฟ
กรณีทดสอบ
[[1]] => [1]
[[1 2] [3 1]] => [1 2 3 1]
[[1 2 3 1]] => [1 2 3 1]
[[1 2 3] [5 6 4] [9 7 8] [1 2 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1 2 3 4] [5 6 7 8] [9 1 2 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1 2 6 3 1 2] [5 9 4 7 8 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1 2 5 9 6 3 4 7 1 2 8 3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
[[1] [2] [5] [9] [6] [3] [4] [7] [1] [2] [8] [3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
ความท้าทายที่เกี่ยวข้อง
- สร้างเมทริกซ์ zigzagified ขึ้นมาใหม่ (การแปลงผกผันที่ค่อนข้างซับซ้อน)
- หมุนตัวต้านเส้นทแยงมุม