परिचय
एक कतार एक सार डेटा प्रकार है जहाँ तत्वों को सामने (enqueue) में जोड़ा जाता है और पीछे से हटा दिया जाता है (dequeue)। इसे फीफो (फर्स्ट इन फर्स्ट आउट) के रूप में भी जाना जाता है सिद्धांत के ।
यह एक उदाहरण के साथ सबसे अच्छा दिखाया गया है:
चुनौती
एक गैर-खाली सरणी को देखते हुए जिसमें सकारात्मक पूर्णांक और तत्व होते हैं जो एक संकेत दिखाते हैं (एक तत्व को हटाने) को , कतार की अंतिम सूची का उत्पादन करते हैं।
आइए बताते हैं कि Xइस उदाहरण में एक छल को दर्शाता है। आइए निम्नलिखित सूची पर एक नज़र डालें:
[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]
यह कोड-गोल्फ है , इसलिए कम से कम बाइट्स जीत के साथ जमा करना!
