File tree 7 files changed +181
-10
lines changed
2335.Minimum Amount of Time to Fill Cups
2336.Smallest Number in Infinite Set
7 files changed +181
-10
lines changed Original file line number Diff line number Diff line change @@ -141,10 +141,26 @@ func fillCups(amount []int) int {
141
141
function fillCups(amount : number []): number {
142
142
amount .sort ((a , b ) => a - b );
143
143
let [a, b, c] = amount ;
144
- let diff = ( a + b ) - c ;
144
+ let diff = a + b - c ;
145
145
if (diff <= 0 ) return c ;
146
- else return Math .floor ((diff + 1 ) / 2 ) + c ;
147
- };
146
+ else return Math .floor ((diff + 1 ) / 2 ) + c ;
147
+ }
148
+ ```
149
+
150
+ ### ** Rust**
151
+
152
+ ``` rust
153
+ impl Solution {
154
+ pub fn fill_cups (mut amount : Vec <i32 >) -> i32 {
155
+ amount . sort ();
156
+ let dif = amount [0 ] + amount [1 ] - amount [2 ];
157
+ if dif <= 0 {
158
+ return amount [2 ];
159
+ }
160
+ (dif + 1 ) / 2 + amount [2 ]
161
+ }
162
+ }
163
+
148
164
```
149
165
150
166
### ** ...**
Original file line number Diff line number Diff line change @@ -130,16 +130,31 @@ func fillCups(amount []int) int {
130
130
function fillCups(amount : number []): number {
131
131
amount .sort ((a , b ) => a - b );
132
132
let [a, b, c] = amount ;
133
- let diff = ( a + b ) - c ;
133
+ let diff = a + b - c ;
134
134
if (diff <= 0 ) return c ;
135
- else return Math .floor ((diff + 1 ) / 2 ) + c ;
136
- };
135
+ else return Math .floor ((diff + 1 ) / 2 ) + c ;
136
+ }
137
137
```
138
138
139
+ ### ** Rust**
140
+
141
+ ``` rust
142
+ impl Solution {
143
+ pub fn fill_cups (mut amount : Vec <i32 >) -> i32 {
144
+ amount . sort ();
145
+ let dif = amount [0 ] + amount [1 ] - amount [2 ];
146
+ if dif <= 0 {
147
+ return amount [2 ];
148
+ }
149
+ (dif + 1 ) / 2 + amount [2 ]
150
+ }
151
+ }
152
+
139
153
### ** ... **
140
154
141
155
```
142
156
143
157
```
144
158
145
159
<!-- tabs:end -->
160
+ ```
Original file line number Diff line number Diff line change
1
+ impl Solution {
2
+ pub fn fill_cups ( mut amount : Vec < i32 > ) -> i32 {
3
+ amount. sort ( ) ;
4
+ let dif = amount[ 0 ] + amount[ 1 ] - amount[ 2 ] ;
5
+ if dif <= 0 {
6
+ return amount[ 2 ] ;
7
+ }
8
+ ( dif + 1 ) / 2 + amount[ 2 ]
9
+ }
10
+ }
Original file line number Diff line number Diff line change @@ -328,7 +328,8 @@ func (h *hp) top() int { a := *h; return a[0] }
328
328
329
329
``` ts
330
330
class SmallestInfiniteSet {
331
- hashMap;
331
+ private hashMap: boolean [];
332
+
332
333
constructor () {
333
334
this .hashMap = new Array (1001 ).fill (true );
334
335
}
@@ -340,6 +341,7 @@ class SmallestInfiniteSet {
340
341
return i ;
341
342
}
342
343
}
344
+ return - 1 ;
343
345
}
344
346
345
347
addBack(num : number ): void {
@@ -357,6 +359,49 @@ class SmallestInfiniteSet {
357
359
*/
358
360
```
359
361
362
+ ### ** Rust**
363
+
364
+ ``` rust
365
+ struct SmallestInfiniteSet {
366
+ counter : [bool ; 1000 ]
367
+ }
368
+
369
+
370
+ /**
371
+ * `&self` means the method takes an immutable reference.
372
+ * If you need a mutable reference, change it to `&mut self` instead.
373
+ */
374
+ impl SmallestInfiniteSet {
375
+
376
+ fn new () -> Self {
377
+ Self {
378
+ counter : [true ; 1000 ]
379
+ }
380
+ }
381
+
382
+ fn pop_smallest (& mut self ) -> i32 {
383
+ for i in 0 .. 1000 {
384
+ if self . counter[i ] {
385
+ self . counter[i ] = false ;
386
+ return i as i32 + 1 ;
387
+ }
388
+ }
389
+ - 1
390
+ }
391
+
392
+ fn add_back (& mut self , num : i32 ) {
393
+ self . counter[num as usize - 1 ] = true ;
394
+ }
395
+ }
396
+
397
+ /**
398
+ * Your SmallestInfiniteSet object will be instantiated and called as such:
399
+ * let obj = SmallestInfiniteSet::new();
400
+ * let ret_1: i32 = obj.pop_smallest();
401
+ * obj.add_back(num);
402
+ */
403
+ ```
404
+
360
405
### ** ...**
361
406
362
407
```
Original file line number Diff line number Diff line change @@ -316,7 +316,8 @@ func (h *hp) top() int { a := *h; return a[0] }
316
316
317
317
``` ts
318
318
class SmallestInfiniteSet {
319
- hashMap;
319
+ private hashMap: boolean [];
320
+
320
321
constructor () {
321
322
this .hashMap = new Array (1001 ).fill (true );
322
323
}
@@ -328,6 +329,7 @@ class SmallestInfiniteSet {
328
329
return i ;
329
330
}
330
331
}
332
+ return - 1 ;
331
333
}
332
334
333
335
addBack(num : number ): void {
@@ -345,6 +347,49 @@ class SmallestInfiniteSet {
345
347
*/
346
348
```
347
349
350
+ ### ** Rust**
351
+
352
+ ``` rust
353
+ struct SmallestInfiniteSet {
354
+ counter : [bool ; 1000 ]
355
+ }
356
+
357
+
358
+ /**
359
+ * `&self` means the method takes an immutable reference.
360
+ * If you need a mutable reference, change it to `&mut self` instead.
361
+ */
362
+ impl SmallestInfiniteSet {
363
+
364
+ fn new () -> Self {
365
+ Self {
366
+ counter : [true ; 1000 ]
367
+ }
368
+ }
369
+
370
+ fn pop_smallest (& mut self ) -> i32 {
371
+ for i in 0 .. 1000 {
372
+ if self . counter[i ] {
373
+ self . counter[i ] = false ;
374
+ return i as i32 + 1 ;
375
+ }
376
+ }
377
+ - 1
378
+ }
379
+
380
+ fn add_back (& mut self , num : i32 ) {
381
+ self . counter[num as usize - 1 ] = true ;
382
+ }
383
+ }
384
+
385
+ /**
386
+ * Your SmallestInfiniteSet object will be instantiated and called as such:
387
+ * let obj = SmallestInfiniteSet::new();
388
+ * let ret_1: i32 = obj.pop_smallest();
389
+ * obj.add_back(num);
390
+ */
391
+ ```
392
+
348
393
### ** ...**
349
394
350
395
```
Original file line number Diff line number Diff line change
1
+ struct SmallestInfiniteSet {
2
+ counter : [ bool ; 1000 ]
3
+ }
4
+
5
+
6
+ /**
7
+ * `&self` means the method takes an immutable reference.
8
+ * If you need a mutable reference, change it to `&mut self` instead.
9
+ */
10
+ impl SmallestInfiniteSet {
11
+
12
+ fn new ( ) -> Self {
13
+ Self {
14
+ counter : [ true ; 1000 ]
15
+ }
16
+ }
17
+
18
+ fn pop_smallest ( & mut self ) -> i32 {
19
+ for i in 0 ..1000 {
20
+ if self . counter [ i] {
21
+ self . counter [ i] = false ;
22
+ return i as i32 + 1 ;
23
+ }
24
+ }
25
+ -1
26
+ }
27
+
28
+ fn add_back ( & mut self , num : i32 ) {
29
+ self . counter [ num as usize - 1 ] = true ;
30
+ }
31
+ }
32
+
33
+ /**
34
+ * Your SmallestInfiniteSet object will be instantiated and called as such:
35
+ * let obj = SmallestInfiniteSet::new();
36
+ * let ret_1: i32 = obj.pop_smallest();
37
+ * obj.add_back(num);
38
+ */
Original file line number Diff line number Diff line change 1
1
class SmallestInfiniteSet {
2
- hashMap ;
2
+ private hashMap : boolean [ ] ;
3
+
3
4
constructor ( ) {
4
5
this . hashMap = new Array ( 1001 ) . fill ( true ) ;
5
6
}
@@ -11,6 +12,7 @@ class SmallestInfiniteSet {
11
12
return i ;
12
13
}
13
14
}
15
+ return - 1 ;
14
16
}
15
17
16
18
addBack ( num : number ) : void {
@@ -25,4 +27,4 @@ class SmallestInfiniteSet {
25
27
* var obj = new SmallestInfiniteSet()
26
28
* var param_1 = obj.popSmallest()
27
29
* obj.addBack(num)
28
- */
30
+ */
You can’t perform that action at this time.
0 commit comments