File tree Expand file tree Collapse file tree 1 file changed +68
-0
lines changed
859-design-circular-deque Expand file tree Collapse file tree 1 file changed +68
-0
lines changed Original file line number Diff line number Diff line change 1+ class MyCircularDeque :
2+
3+ def __init__ (self , k : int ):
4+ self .nums = []
5+ self .count = 0
6+ self .limit = k
7+
8+ def insertFront (self , value : int ) -> bool :
9+ if not self .isFull ():
10+ self .nums .insert (0 , value )
11+ self .count += 1
12+ return True
13+ else :
14+ return False
15+
16+ def insertLast (self , value : int ) -> bool :
17+ if not self .isFull ():
18+ self .nums .append (value )
19+ self .count += 1
20+ return True
21+ else :
22+ return False
23+
24+ def deleteFront (self ) -> bool :
25+ if not self .isEmpty ():
26+ self .nums .pop (0 )
27+ self .count -= 1
28+ return True
29+ else :
30+ return False
31+
32+ def deleteLast (self ) -> bool :
33+ if not self .isEmpty ():
34+ self .nums .pop ()
35+ self .count -= 1
36+ return True
37+ else :
38+ return False
39+
40+ def getFront (self ) -> int :
41+ if not self .isEmpty ():
42+ return self .nums [0 ]
43+ else :
44+ return - 1
45+
46+ def getRear (self ) -> int :
47+ if not self .isEmpty ():
48+ return self .nums [- 1 ]
49+ else :
50+ return - 1
51+
52+ def isEmpty (self ) -> bool :
53+ return self .count == 0
54+
55+ def isFull (self ) -> bool :
56+ return self .count == self .limit
57+
58+
59+ # Your MyCircularDeque object will be instantiated and called as such:
60+ # obj = MyCircularDeque(k)
61+ # param_1 = obj.insertFront(value)
62+ # param_2 = obj.insertLast(value)
63+ # param_3 = obj.deleteFront()
64+ # param_4 = obj.deleteLast()
65+ # param_5 = obj.getFront()
66+ # param_6 = obj.getRear()
67+ # param_7 = obj.isEmpty()
68+ # param_8 = obj.isFull()
You can’t perform that action at this time.
0 commit comments