Giới thiệu
Một hàng đợi là một kiểu dữ liệu trừu tượng mà yếu tố được thêm vào phía trước (enqueue) và lấy ra từ phía sau (dequeue). Điều này còn được gọi là FIFO (First In First Out) nguyên tắc .
Nó được hiển thị tốt nhất với một ví dụ:
Thử thách
Đưa ra một mảng không trống có chứa các số nguyên và phần tử dương biểu thị một dequeue (loại bỏ một phần tử), xuất ra danh sách cuối cùng của hàng đợi.
Chúng ta hãy nói rằng X
biểu thị một dequeue trong ví dụ này. Hãy xem danh sách sau đây:
[45, X, X, 37, 20, X, 97, X, 85]
Điều này có thể được dịch sang mã giả hàng đợi sau đây:
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
Bạn có thể thấy rằng cuối cùng, kết quả là [85, 97]
, đó là đầu ra cho chuỗi này.
Các trường hợp thử nghiệm
Lưu ý rằng bạn có thể chọn bất kỳ ký hiệu hoặc ký tự nào khác X
, miễn là nó không phải là số nguyên dương.
[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]
Đây là môn đánh gôn , vì vậy bài nộp có số byte ít nhất sẽ thắng!