We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent db64a15 commit 5c7b7c5Copy full SHA for 5c7b7c5
javascript/1845-seat-reservation-manager.js
@@ -0,0 +1,36 @@
1
+
2
+class SeatManager {
3
+ /**
4
+ * MinHeap
5
+ * Time O(n*log(n)) | Space O(n)
6
+ * https://leetcode.com/problems/seat-reservation-manager/
7
+ * @param {number} n
8
+ */
9
+ constructor(n) {
10
+ this.unreserved = new MinPriorityQueue({
11
+ compare: (a, b) => a - b
12
+ });
13
14
+ for (let i = 1; i < n + 1; i++) {
15
+ this.unreserved.enqueue(i);
16
+ }
17
18
19
20
+ * Time O(log(n)) | Space O(1)
21
+ * @return {number}
22
23
+ reserve() {
24
+ const minAvailableSeat = this.unreserved.dequeue();
25
+ return minAvailableSeat;
26
27
28
29
30
+ * @param {number} seatNumber
31
+ * @return {void}
32
33
+ unreserve(seatNumber) {
34
+ this.unreserved.enqueue(seatNumber);
35
36
+}
0 commit comments