จากคำถาม stackoverflow นี้
กำหนดขนาดอาร์เรย์ 2 มิติส่งออกค่าในลักษณะทวนเข็มนาฬิกา เอาต์พุตจะต้องเริ่มจากด้านนอกสู่ด้านในและจุดเริ่มต้นจะเป็นเสมอ
ตัวอย่างที่ได้รับ:
ค่าขอบในการทวนเข็มนาฬิกาเป็นแล้ว1,5,9,13,14,15,16,12,8,4,3,2
ตอนนี้เราทำกระบวนการซ้ำสำหรับค่าภายใน นี่จะจบลงด้วยเมทริกซ์ดังต่อไปนี้
และค่าภายในคือ
ผลลัพธ์สุดท้ายจะเป็น
กฎระเบียบ
- สมมติว่าอินพุตไม่ว่างเปล่า
- สมมติว่าค่าเมทริกซ์เป็นจำนวนเต็มบวก
- มาตรฐานฉัน O / วิธีใช้
- ใช้กฎกติกากอล์ฟมาตรฐานและเกณฑ์การชนะ
บางกรณีทดสอบ
Input
[
[1, 2, 3, 4, 5, 6, 7],
[8, 9, 10,11,12,13,14],
[15,16,17,18,19,20,21]
]
Output
1,8,15,16,17,18,19,20,21,14,7,6,5,4,3,2,9,10,11,12,13
--------------------------------------------------------
Input
[
[1,2,3],
[3,2,1],
[4,5,6],
[6,5,4],
[7,8,9],
[9,8,7]
]
Output
1,3,4,6,7,9,8,7,9,4,6,1,3,2,2,5,5,8
-----------------------------------------------------
Input
[
[1]
]
Output
1
-----------------------------------
Input
[
[1, 2],
[2, 1]
]
Output
1,2,1,2
-----------------------------------------------------
Input
[
[1,2,3,6,7],
[2,4,3,2,1],
[3,2,4,5,6],
[6,5,6,5,4],
[10,4,7,8,9],
[12,4,9,8,7]
]
Output
1,2,3,6,10,12,4,9,8,7,9,4,6,1,7,6,3,2,4,2,5,4,7,8,5,5,2,3,4,6