मान लीजिए हमारे पास संख्याओं से भरी एक कतार है। हमें यह जांचना होगा कि कतार में क्रमागत अवयव जोड़ीवार क्रमागत हैं या नहीं।
इसलिए, यदि इनपुट que =[3,4,6,7,8,9] जैसा है, तो आउटपुट ट्रू होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- q :=एक क्यू को परिभाषित करें और दी गई सूची से सभी तत्वों को q में डालें
- अस्थायी:=एक नई सूची
- जबकि q खाली नहीं है, करें
- कतार के सामने वाले तत्व को अस्थायी में डालें और कतार से सामने वाले तत्व को हटाएं
- temp2 :=एक नई सूची
- जबकि अस्थायी खाली नहीं है, करें
- temp2 में temp का अंतिम तत्व डालें
- अस्थायी से अंतिम तत्व हटाएं
- परिणाम:=सत्य
- temp2 का आकार> 1, करते समय
- x :=temp2 का अंतिम तत्व
- temp2 से अंतिम तत्व हटाएं
- y :=temp2 का अंतिम तत्व
- temp2 से अंतिम तत्व हटाएं
- अगर |x - y| 1 नहीं है, तो
- परिणाम:=गलत
- q में x और y डालें
- यदि temp2 का आकार 1 है, तो
- temp2 का अंतिम तत्व q में डालें
- वापसी का परिणाम
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
import queue def solve(que): q = queue.Queue() for i in que: q.put(i) temp = [] while q.qsize() != 0: temp.append(q.queue[0]) q.get() temp2 = [] while len(temp) != 0: temp2.append(temp[len(temp) - 1]) temp.pop() result = bool(True) while len(temp2) > 1: x = temp2[len(temp2) - 1] temp2.pop() y = temp2[len(temp2) - 1] temp2.pop() if abs(x - y) != 1: result = False q.put(x) q.put(y) if len(temp2) == 1: q.put(temp2[len(temp2) - 1]) return result que = [3,4,6,7,8,9] print(solve(que))
इनपुट
[3,4,6,7,8,9]
आउटपुट
True