Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การแบ่งหน้าหนังสือ (Book Pagination) ใน Python

ภาพรวม

โจทย์จำลองการแบ่งหน้าหนังสือ: กำหนดลิสต์คำ (book), หน้า (page, 0-indexed), ขนาดหน้า (page_size) คืนลิสต์คำในหน้านั้น ถ้าหน้าเกินคืนลิสต์ว่าง

ตัวอย่าง

book = ["hello", "world", "programming", "language", "python", "c++", "java"]

page = 1, page_size = 3

หน้า 0: ดัชนี 0-2 → hello, world, programming

หน้า 1: ดัชนี 3-5 → language, python, c++

เอาต์พุต: ['language', 'python', 'c++']

โค้ด Python

class Solution:
    def solve(self, book, page, page_size):
        l = page * page_size
        return book[l:l+page_size]

ob = Solution()
book = ["hello", "world", "programming", "language", "python", "c++", "java"]
page = 1
page_size = 3
print(ob.solve(book, page, page_size))

รายละเอียด

  • Python slicing book[l:r] จัดการ out-of-bounds เอง (คืน [] ถ้า l ≥ len)
  • ไม่ต้องเช็คเงื่อนไขพิเศษ
  • เวลา O(page_size), พื้นที่ O(page_size)

ผลลัพธ์

['language', 'python', 'c++']