मान लीजिए हमारे पास संख्याओं से भरा एक क्यू है। हमें यह जांचना है कि क्यू में लगातार तत्व पेयरवाइज़ कंसेक्यूटिव हैं या नहीं।
तो, यदि इनपुट है que = [3,4,6,7,8,9], तो आउटपुट True होगा।
हल करने के चरण
- q := एक क्यू परिभाषित करें और दी गई सूची के सभी तत्वों को q में डालें
- temp := एक नई सूची
- जब तक q खाली नहीं है, तब तक:
- क्यू के फ्रंट एलिमेंट को temp में डालें और क्यू से फ्रंट एलिमेंट को हटाएं
- temp2 := एक नई सूची
- जब तक temp खाली नहीं है, तब तक:
- temp के अंतिम एलिमेंट को temp2 में डालें
- temp से अंतिम एलिमेंट को हटाएं
- result := True
- जब तक temp2 का आकार > 1 है, तब तक:
- x := temp2 का अंतिम एलिमेंट
- temp2 से अंतिम एलिमेंट को हटाएं
- y := temp2 का अंतिम एलिमेंट
- temp2 से अंतिम एलिमेंट को हटाएं
- यदि |x - y| 1 नहीं है, तो:
- result := False
- x और y को q में डालें
- यदि temp2 का आकार 1 है, तो:
- temp2 के अंतिम एलिमेंट को q में डालें
- result लौटाएं
उदाहरण
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