deno.land / x / masx200_leetcode_test@10.6.5 / design-circular-queue / index.go

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package design_circular_queue
import "errors"
type MyCircularQueue struct { capacity int queue []int}
func Constructor(capacity int) MyCircularQueue { if capacity < 1 { panic(errors.New("k greater than or equal one")) } return MyCircularQueue{capacity: capacity}}
func (d *MyCircularQueue) EnQueue(value int) bool { if d.IsFull() { return false } d.queue = append(d.queue, value) return true}
func (d *MyCircularQueue) DeQueue() bool { if d.IsEmpty() { return false } d.queue = d.queue[1:] return true}
func (d *MyCircularQueue) Front() int { if d.IsEmpty() { return -1 } return d.queue[0]}
func (d *MyCircularQueue) Rear() int { if d.IsEmpty() { return -1 } return d.queue[len(d.queue)-1]}
func (d *MyCircularQueue) IsEmpty() bool { return len(d.queue) == 0}
func (d *MyCircularQueue) IsFull() bool { return len(d.queue) >= d.capacity}
masx200_leetcode_test

Version Info

Tagged at
a year ago