23
หมุนอาร์เรย์จำนวนเต็มด้วยอัลกอริทึม O (n) [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา เขียนฟังก์ชั่นที่หมุนอาร์เรย์จำนวนเต็มด้วยตัวเลขที่กำหนด องค์ประกอบ k จากปลายควรย้ายไปยังจุดเริ่มต้นของอาร์เรย์และองค์ประกอบอื่น ๆ ทั้งหมดควรเลื่อนไปทางขวาเพื่อสร้างพื้นที่ การหมุนควรทำในสถานที่ อัลกอริทึมไม่ควรทำงานมากกว่า O (n) โดยที่ n คือขนาดของอาเรย์ ต้องใช้หน่วยความจำคงที่เพื่อดำเนินการ ตัวอย่างเช่น, ถ้าอาร์เรย์ถูกเริ่มต้นด้วยองค์ประกอบ arr = {1, 2, 3, 4, 5, 6, 7, 8, 9} หมุน (arr, 3) จะส่งผลให้องค์ประกอบเป็น {7, 8, 9, 1, 2, 3, 4, 5, 6} หมุน (arr, 6) …