File tree 3 files changed +82
-0
lines changed
solution/2300-2399/2336.Smallest Number in Infinite Set
3 files changed +82
-0
lines changed Original file line number Diff line number Diff line change @@ -327,7 +327,34 @@ func (h *hp) top() int { a := *h; return a[0] }
327
327
### ** TypeScript**
328
328
329
329
``` ts
330
+ class SmallestInfiniteSet {
331
+ hashMap;
332
+ constructor () {
333
+ this .hashMap = new Array (1001 ).fill (true );
334
+ }
335
+
336
+ popSmallest(): number {
337
+ for (let i = 1 ; i <= 1001 ; i ++ ) {
338
+ if (this .hashMap [i ]) {
339
+ this .hashMap [i ] = false ;
340
+ return i ;
341
+ }
342
+ }
343
+ }
344
+
345
+ addBack(num : number ): void {
346
+ if (! this .hashMap [num ]) {
347
+ this .hashMap [num ] = true ;
348
+ }
349
+ }
350
+ }
330
351
352
+ /**
353
+ * Your SmallestInfiniteSet object will be instantiated and called as such:
354
+ * var obj = new SmallestInfiniteSet()
355
+ * var param_1 = obj.popSmallest()
356
+ * obj.addBack(num)
357
+ */
331
358
```
332
359
333
360
### ** ...**
Original file line number Diff line number Diff line change @@ -315,7 +315,34 @@ func (h *hp) top() int { a := *h; return a[0] }
315
315
### ** TypeScript**
316
316
317
317
``` ts
318
+ class SmallestInfiniteSet {
319
+ hashMap;
320
+ constructor () {
321
+ this .hashMap = new Array (1001 ).fill (true );
322
+ }
323
+
324
+ popSmallest(): number {
325
+ for (let i = 1 ; i <= 1001 ; i ++ ) {
326
+ if (this .hashMap [i ]) {
327
+ this .hashMap [i ] = false ;
328
+ return i ;
329
+ }
330
+ }
331
+ }
332
+
333
+ addBack(num : number ): void {
334
+ if (! this .hashMap [num ]) {
335
+ this .hashMap [num ] = true ;
336
+ }
337
+ }
338
+ }
318
339
340
+ /**
341
+ * Your SmallestInfiniteSet object will be instantiated and called as such:
342
+ * var obj = new SmallestInfiniteSet()
343
+ * var param_1 = obj.popSmallest()
344
+ * obj.addBack(num)
345
+ */
319
346
```
320
347
321
348
### ** ...**
Original file line number Diff line number Diff line change
1
+ class SmallestInfiniteSet {
2
+ hashMap ;
3
+ constructor ( ) {
4
+ this . hashMap = new Array ( 1001 ) . fill ( true ) ;
5
+ }
6
+
7
+ popSmallest ( ) : number {
8
+ for ( let i = 1 ; i <= 1001 ; i ++ ) {
9
+ if ( this . hashMap [ i ] ) {
10
+ this . hashMap [ i ] = false ;
11
+ return i ;
12
+ }
13
+ }
14
+ }
15
+
16
+ addBack ( num : number ) : void {
17
+ if ( ! this . hashMap [ num ] ) {
18
+ this . hashMap [ num ] = true ;
19
+ }
20
+ }
21
+ }
22
+
23
+ /**
24
+ * Your SmallestInfiniteSet object will be instantiated and called as such:
25
+ * var obj = new SmallestInfiniteSet()
26
+ * var param_1 = obj.popSmallest()
27
+ * obj.addBack(num)
28
+ */
You can’t perform that action at this time.
0 commit comments