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