File tree Expand file tree Collapse file tree 12 files changed +33
-36
lines changed
0600-0699/0630.Course Schedule III
0900-0999/0973.K Closest Points to Origin
1900-1999/1962.Remove Stones to Minimize the Total
2800-2899/2856.Minimum Array Length After Pair Removals Expand file tree Collapse file tree 12 files changed +33
-36
lines changed Original file line number Diff line number Diff line change @@ -179,13 +179,13 @@ func (h *hp) pop() int { return heap.Pop(h).(int) }
179179``` ts
180180function scheduleCourse(courses : number [][]): number {
181181 courses .sort ((a , b ) => a [1 ] - b [1 ]);
182- const pq = new MaxPriorityQueue ();
182+ const pq = new MaxPriorityQueue < number > ();
183183 let s = 0 ;
184184 for (const [duration, last] of courses ) {
185185 pq .enqueue (duration );
186186 s += duration ;
187187 while (s > last ) {
188- s -= pq .dequeue (). element ;
188+ s -= pq .dequeue ();
189189 }
190190 }
191191 return pq .size ();
Original file line number Diff line number Diff line change @@ -170,13 +170,13 @@ func (h *hp) pop() int { return heap.Pop(h).(int) }
170170``` ts
171171function scheduleCourse(courses : number [][]): number {
172172 courses .sort ((a , b ) => a [1 ] - b [1 ]);
173- const pq = new MaxPriorityQueue ();
173+ const pq = new MaxPriorityQueue < number > ();
174174 let s = 0 ;
175175 for (const [duration, last] of courses ) {
176176 pq .enqueue (duration );
177177 s += duration ;
178178 while (s > last ) {
179- s -= pq .dequeue (). element ;
179+ s -= pq .dequeue ();
180180 }
181181 }
182182 return pq .size ();
Original file line number Diff line number Diff line change 11function scheduleCourse ( courses : number [ ] [ ] ) : number {
22 courses . sort ( ( a , b ) => a [ 1 ] - b [ 1 ] ) ;
3- const pq = new MaxPriorityQueue ( ) ;
3+ const pq = new MaxPriorityQueue < number > ( ) ;
44 let s = 0 ;
55 for ( const [ duration , last ] of courses ) {
66 pq . enqueue ( duration ) ;
77 s += duration ;
88 while ( s > last ) {
9- s -= pq . dequeue ( ) . element ;
9+ s -= pq . dequeue ( ) ;
1010 }
1111 }
1212 return pq . size ( ) ;
Original file line number Diff line number Diff line change @@ -259,15 +259,15 @@ func (h *hp) Pop() any { a := *h; v := a[len(a)-1]; *h = a[:len(a)-1]; retur
259259
260260``` ts
261261function kClosest(points : number [][], k : number ): number [][] {
262- const maxQ = new MaxPriorityQueue ( );
262+ const maxQ = new MaxPriorityQueue <{ point : number []; dist : number }>( entry => entry . dist );
263263 for (const [x, y] of points ) {
264264 const dist = x * x + y * y ;
265- maxQ .enqueue ([x , y ], dist );
265+ maxQ .enqueue ({ point: [x , y ], dist } );
266266 if (maxQ .size () > k ) {
267267 maxQ .dequeue ();
268268 }
269269 }
270- return maxQ .toArray ().map (item => item . element );
270+ return maxQ .toArray ().map (entry => entry . point );
271271}
272272```
273273
Original file line number Diff line number Diff line change @@ -255,15 +255,15 @@ func (h *hp) Pop() any { a := *h; v := a[len(a)-1]; *h = a[:len(a)-1]; retur
255255
256256``` ts
257257function kClosest(points : number [][], k : number ): number [][] {
258- const maxQ = new MaxPriorityQueue ( );
258+ const maxQ = new MaxPriorityQueue <{ point : number []; dist : number }>( entry => entry . dist );
259259 for (const [x, y] of points ) {
260260 const dist = x * x + y * y ;
261- maxQ .enqueue ([x , y ], dist );
261+ maxQ .enqueue ({ point: [x , y ], dist } );
262262 if (maxQ .size () > k ) {
263263 maxQ .dequeue ();
264264 }
265265 }
266- return maxQ .toArray ().map (item => item . element );
266+ return maxQ .toArray ().map (entry => entry . point );
267267}
268268```
269269
Original file line number Diff line number Diff line change 11function kClosest ( points : number [ ] [ ] , k : number ) : number [ ] [ ] {
2- const maxQ = new MaxPriorityQueue ( ) ;
2+ const maxQ = new MaxPriorityQueue < { point : number [ ] ; dist : number } > ( entry => entry . dist ) ;
33 for ( const [ x , y ] of points ) {
44 const dist = x * x + y * y ;
5- maxQ . enqueue ( [ x , y ] , dist ) ;
5+ maxQ . enqueue ( { point : [ x , y ] , dist } ) ;
66 if ( maxQ . size ( ) > k ) {
77 maxQ . dequeue ( ) ;
88 }
99 }
10- return maxQ . toArray ( ) . map ( item => item . element ) ;
10+ return maxQ . toArray ( ) . map ( entry => entry . point ) ;
1111}
Original file line number Diff line number Diff line change @@ -180,15 +180,14 @@ func (h *hp) pop() int { return heap.Pop(h).(int) }
180180
181181``` ts
182182function minStoneSum(piles : number [], k : number ): number {
183- const pq = new MaxPriorityQueue ();
183+ const pq = new MaxPriorityQueue < number > ();
184184 for (const x of piles ) {
185185 pq .enqueue (x );
186186 }
187187 while (k -- ) {
188- pq .enqueue ((pq .dequeue (). element + 1 ) >> 1 );
188+ pq .enqueue ((pq .dequeue () + 1 ) >> 1 );
189189 }
190-
191- return pq .toArray ().reduce ((a , b ) => a + b .element , 0 );
190+ return pq .toArray ().reduce ((a , b ) => a + b , 0 );
192191}
193192```
194193
Original file line number Diff line number Diff line change @@ -178,15 +178,14 @@ func (h *hp) pop() int { return heap.Pop(h).(int) }
178178
179179``` ts
180180function minStoneSum(piles : number [], k : number ): number {
181- const pq = new MaxPriorityQueue ();
181+ const pq = new MaxPriorityQueue < number > ();
182182 for (const x of piles ) {
183183 pq .enqueue (x );
184184 }
185185 while (k -- ) {
186- pq .enqueue ((pq .dequeue (). element + 1 ) >> 1 );
186+ pq .enqueue ((pq .dequeue () + 1 ) >> 1 );
187187 }
188-
189- return pq .toArray ().reduce ((a , b ) => a + b .element , 0 );
188+ return pq .toArray ().reduce ((a , b ) => a + b , 0 );
190189}
191190```
192191
Original file line number Diff line number Diff line change 11function minStoneSum ( piles : number [ ] , k : number ) : number {
2- const pq = new MaxPriorityQueue ( ) ;
2+ const pq = new MaxPriorityQueue < number > ( ) ;
33 for ( const x of piles ) {
44 pq . enqueue ( x ) ;
55 }
66 while ( k -- ) {
7- pq . enqueue ( ( pq . dequeue ( ) . element + 1 ) >> 1 ) ;
7+ pq . enqueue ( ( pq . dequeue ( ) + 1 ) >> 1 ) ;
88 }
9-
10- return pq . toArray ( ) . reduce ( ( a , b ) => a + b . element , 0 ) ;
9+ return pq . toArray ( ) . reduce ( ( a , b ) => a + b , 0 ) ;
1110}
Original file line number Diff line number Diff line change @@ -244,14 +244,14 @@ function minLengthAfterRemovals(nums: number[]): number {
244244 for (const x of nums ) {
245245 cnt .set (x , (cnt .get (x ) ?? 0 ) + 1 );
246246 }
247- const pq = new MaxPriorityQueue ();
247+ const pq = new MaxPriorityQueue < number > ();
248248 for (const [_, v] of cnt ) {
249249 pq .enqueue (v );
250250 }
251251 let ans = nums .length ;
252252 while (pq .size () > 1 ) {
253- let x = pq .dequeue (). element ;
254- let y = pq .dequeue (). element ;
253+ let x = pq .dequeue ();
254+ let y = pq .dequeue ();
255255 if (-- x > 0 ) {
256256 pq .enqueue (x );
257257 }
You can’t perform that action at this time.
0 commit comments