บทนำ
คิวเป็นชนิดข้อมูลนามธรรมที่องค์ประกอบเพิ่มไปด้านหน้า (enqueue) และลบออกจากด้านหลัง (dequeue) นอกจากนี้ยังเป็นที่รู้จักกันFIFO (First In First Out)หลักการ
มันจะแสดงที่ดีที่สุดด้วยตัวอย่าง:
ท้าทาย
รับอาร์เรย์ที่ไม่ว่างเปล่าที่มีจำนวนเต็มบวกและองค์ประกอบที่ระบุdequeue (ลบองค์ประกอบ) ออกรายการสุดท้ายของคิว
สมมุติว่าXเป็น dequeue ในตัวอย่างนี้ ลองดูรายการต่อไปนี้:
[45, X, X, 37, 20, X, 97, X, 85]
สิ่งนี้สามารถแปลเป็นรหัสคิวหลอกต่อไปนี้:
                   Queue
Enqueue 45    ->   45
Dequeue       ->   
Dequeue       ->              (dequeue on an empty queue is a no-op)
Enqueue 37    ->   37
Enqueue 20    ->   20 37
Dequeue       ->   20
Enqueue 97    ->   97 20
Dequeue       ->   97
Enqueue 85    ->   85 97
คุณจะเห็นว่าในท้ายที่สุดผลลัพธ์คือ[85, 97]ซึ่งเป็นผลลัพธ์สำหรับลำดับนี้
กรณีทดสอบ
โปรดทราบว่าคุณสามารถเลือกสัญลักษณ์หรือตัวละครXอื่นได้ตราบใดที่ไม่ใช่จำนวนเต็มบวก
[1, X, 2, X, 3, X]      ->     []
[1, 2, X]               ->     [2]
[1, 2, 3]               ->     [3, 2, 1]
[1, 2, X, X, X, 3]      ->     [3]
[1, 2, X, 3, X, 4]      ->     [4, 3]
นี่คือโค้ดกอล์ฟดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ!
