อัลกอริทึม Python

หมุน Array ใน Python

สมาชิกที่ออกจากด้านหนึ่งจะกลับเข้าที่อีกด้าน

หมุน Array ใน Python คืออะไร?

สมาชิกที่ออกจากด้านหนึ่งจะกลับเข้าที่อีกด้าน

เลื่อนสมาชิกแบบวนรอบ k ตำแหน่ง

ควรใช้เมื่อใด?

  • ทำความเข้าใจอัลกอริทึมและโครงสร้างข้อมูล
  • สังเกตแต่ละขั้นตอนและกรณีขอบ
  • เปรียบเทียบเวลาและหน่วยความจำ

โค้ดตัวอย่าง

รันโค้ด →
main.py
def rotate_right(values, steps):
    if not values:
        return []
    steps %= len(values)
    return values[-steps:] + values[:-steps]

print(rotate_right([1, 2, 3, 4, 5], 2))

ผลลัพธ์ที่คาดหวัง

[4, 5, 1, 2, 3]

หลักการทำงาน

ปรับ k ตามความยาวแล้วรวมสอง slice ใช้เวลาและหน่วยความจำ O(n)

เปลี่ยนค่าและรันโปรแกรมด้วย คอมไพเลอร์ Python ออนไลน์ของ CodeUtility โดยไม่ต้องติดตั้ง Python

แบบฝึกหัด

ลองเปลี่ยน input และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น

  1. ทดสอบ input ว่าง หนึ่งสมาชิก และค่าซ้ำ
  2. แสดงสถานะหลังแต่ละขั้นตอน
  3. เปรียบเทียบประสิทธิภาพกับวิธีอื่น
รันใน Python IDE →