Data Structure
 Networking
 RDBMS
 Operating System
 Java
 MS Excel
 iOS
 HTML
 CSS
 Android
 Python
 C Programming
 C++
 C#
 MongoDB
 MySQL
 Javascript
 PHP
- Selected Reading
 - UPSC IAS Exams Notes
 - Developer's Best Practices
 - Questions and Answers
 - Effective Resume Writing
 - HR Interview Questions
 - Computer Glossary
 - Who is Who
 
Check if Queue Elements are pairwise consecutive in Python
Suppose we have a queue full of numbers. We have to check whether the consecutive elements in the queue are pairwise consecutive or not.
So, if the input is like que = [3,4,6,7,8,9], then the output will be True.
To solve this, we will follow these steps −
- q := define a queue and insert all elements from given list into q
 - temp := a new list
 - while q is not empty, do
- insert front element of queue into temp and delete front element from queue
 
 - temp2 := a new list
 - while temp is not empty, do
- insert last element of temp into temp2
 - delete last element from temp
 
 - result := True
 - while size of temp2 > 1, do
- x := last element of temp2
 - delete last element from temp2
 - y := last element of temp2
 - delete last element from temp2
 - if |x - y| is not 1, then
- result := False
 
 - insert x and y into q
 
 - if size of temp2 is 1, then
- insert last element of temp2 into q
 
 - return result
 
Example
Let us see the following implementation to get better understanding −
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))
Input
[3,4,6,7,8,9]
Output
True
Advertisements