deno.land / x / masx200_leetcode_test@10.6.5 / design-front-middle-back-queue / index.ts

نووسراو ببینە
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
export default class FrontMiddleBackQueue { #queue: Array<number> = [];
pushFront(val: number): void { this.#queue.unshift(val); }
pushMiddle(val: number): void { this.#queue.splice(Math.floor(this.#queue.length / 2), 0, val); }
pushBack(val: number): void { this.#queue.push(val); }
popFront(): number { return this.#queue.shift() ?? -1; }
popMiddle(): number { // console.log(this) if (this.#queue.length === 0) return -1; // console.log(this.queue.length) const mid = Math.floor(this.#queue.length / 2) - Number(!(this.#queue.length % 2)); // console.log(mid) const result = this.#queue[mid]; // console.log(result) this.#queue.splice(mid, 1); // console.log(this) return result; }
popBack(): number { return this.#queue.pop() ?? -1; }}
masx200_leetcode_test

Version Info

Tagged at
a year ago