Class MyCircularDeque
-
- All Implemented Interfaces:
public final class MyCircularDeque
641 - Design Circular Deque\.
Medium
Design your implementation of the circular double-ended queue (deque).
Implement the
MyCircularDeque
class:MyCircularDeque(int k)
Initializes the deque with a maximum size ofk
.boolean insertFront()
Adds an item at the front of Deque. Returnstrue
if the operation is successful, orfalse
otherwise.boolean insertLast()
Adds an item at the rear of Deque. Returnstrue
if the operation is successful, orfalse
otherwise.boolean deleteFront()
Deletes an item from the front of Deque. Returnstrue
if the operation is successful, orfalse
otherwise.boolean deleteLast()
Deletes an item from the rear of Deque. Returnstrue
if the operation is successful, orfalse
otherwise.int getFront()
Returns the front item from the Deque. Returns-1
if the deque is empty.int getRear()
Returns the last item from Deque. Returns-1
if the deque is empty.boolean isEmpty()
Returnstrue
if the deque is empty, orfalse
otherwise.boolean isFull()
Returnstrue
if the deque is full, orfalse
otherwise.
Example 1:
Input
"MyCircularDeque", "insertLast", "insertLast", "insertFront", "insertFront", "getRear", "isFull", "deleteLast", "insertFront", "getFront"
[3, 1, 2, 3, 4, [], [], [], 4, []]
Output: null, true, true, true, false, 2, true, true, true, 4
Explanation:
MyCircularDeque myCircularDeque = new MyCircularDeque(3);
myCircularDeque.insertLast(1); // return True
myCircularDeque.insertLast(2); // return True
myCircularDeque.insertFront(3); // return True
myCircularDeque.insertFront(4); // return False, the queue is full.
myCircularDeque.getRear(); // return 2
myCircularDeque.isFull(); // return True
myCircularDeque.deleteLast(); // return True
myCircularDeque.insertFront(4); // return True
myCircularDeque.getFront(); // return 4
Constraints:
1 <= k <= 1000
0 <= value <= 1000
At most
2000
calls will be made toinsertFront
,insertLast
,deleteFront
,deleteLast
,getFront
,getRear
,isEmpty
,isFull
.
-
-
Constructor Summary
Constructors Constructor Description MyCircularDeque(Integer k)
-
Method Summary
Modifier and Type Method Description final Boolean
insertFront(Integer value)
final Boolean
insertLast(Integer value)
final Boolean
deleteFront()
final Boolean
deleteLast()
final Integer
getFront()
final Integer
getRear()
final Boolean
isEmpty()
final Boolean
isFull()
-
-
Constructor Detail
-
MyCircularDeque
MyCircularDeque(Integer k)
-
-
Method Detail
-
insertFront
final Boolean insertFront(Integer value)
-
insertLast
final Boolean insertLast(Integer value)
-
deleteFront
final Boolean deleteFront()
-
deleteLast
final Boolean deleteLast()
-
-
-
-