File tree Expand file tree Collapse file tree 3 files changed +70
-0
lines changed
solution/3000-3099/3016.Minimum Number of Pushes to Type Word II Expand file tree Collapse file tree 3 files changed +70
-0
lines changed Original file line number Diff line number Diff line change @@ -241,6 +241,31 @@ function minimumPushes(word: string): number {
241
241
}
242
242
```
243
243
244
+ #### JavaScript
245
+
246
+ ``` js
247
+ function minimumPushes (word ) {
248
+ const pq = new MaxPriorityQueue ();
249
+ const cnt = new Map ();
250
+ let [i, res] = [0 , 0 ];
251
+
252
+ for (const x of word) {
253
+ cnt .set (x, (cnt .get (x) ?? 0 ) + 1 );
254
+ }
255
+
256
+ for (const [x , c ] of cnt) {
257
+ pq .enqueue (x, c);
258
+ }
259
+
260
+ while (! pq .isEmpty ()) {
261
+ const c = pq .dequeue ().priority ;
262
+ res += c * (((i++ / 8 ) | 0 ) + 1 );
263
+ }
264
+
265
+ return res;
266
+ }
267
+ ` ` `
268
+
244
269
<!-- tabs:end -->
245
270
246
271
<!-- solution:end -->
Original file line number Diff line number Diff line change @@ -239,6 +239,31 @@ function minimumPushes(word: string): number {
239
239
}
240
240
```
241
241
242
+ #### JavaScript
243
+
244
+ ``` js
245
+ function minimumPushes (word ) {
246
+ const pq = new MaxPriorityQueue ();
247
+ const cnt = new Map ();
248
+ let [i, res] = [0 , 0 ];
249
+
250
+ for (const x of word) {
251
+ cnt .set (x, (cnt .get (x) ?? 0 ) + 1 );
252
+ }
253
+
254
+ for (const [x , c ] of cnt) {
255
+ pq .enqueue (x, c);
256
+ }
257
+
258
+ while (! pq .isEmpty ()) {
259
+ const c = pq .dequeue ().priority ;
260
+ res += c * (((i++ / 8 ) | 0 ) + 1 );
261
+ }
262
+
263
+ return res;
264
+ }
265
+ ` ` `
266
+
242
267
<!-- tabs:end -->
243
268
244
269
<!-- solution:end -->
Original file line number Diff line number Diff line change
1
+ function minimumPushes ( word ) {
2
+ const pq = new MaxPriorityQueue ( ) ;
3
+ const cnt = new Map ( ) ;
4
+ let [ i , res ] = [ 0 , 0 ] ;
5
+
6
+ for ( const x of word ) {
7
+ cnt . set ( x , ( cnt . get ( x ) ?? 0 ) + 1 ) ;
8
+ }
9
+
10
+ for ( const [ x , c ] of cnt ) {
11
+ pq . enqueue ( x , c ) ;
12
+ }
13
+
14
+ while ( ! pq . isEmpty ( ) ) {
15
+ const c = pq . dequeue ( ) . priority ;
16
+ res += c * ( ( ( i ++ / 8 ) | 0 ) + 1 ) ;
17
+ }
18
+
19
+ return res ;
20
+ }
You can’t perform that action at this time.
0 commit comments