Skip to content

Commit 2c8e61a

Browse files
committed
feat: add ts solution to lc problem: No.0703
1 parent 805d2fc commit 2c8e61a

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

solution/0700-0799/0703.Kth Largest Element in a Stream/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,30 @@ class MinHeap {
349349
*/
350350
```
351351

352+
#### TypeScript
353+
354+
```ts
355+
export class KthLargest {
356+
#pq = new MinPriorityQueue();
357+
#k = 0;
358+
359+
constructor(k: number, nums: number[]) {
360+
this.#k = k;
361+
for (const x of nums) {
362+
this.#pq.enqueue(x);
363+
if (this.#pq.size() > k) this.#pq.dequeue();
364+
}
365+
}
366+
367+
add(val: number): number {
368+
this.#pq.enqueue(val);
369+
if (this.#pq.size() > this.#k) this.#pq.dequeue();
370+
371+
return this.#pq.front().element;
372+
}
373+
}
374+
```
375+
352376
<!-- tabs:end -->
353377

354378
<!-- solution:end -->

solution/0700-0799/0703.Kth Largest Element in a Stream/README_EN.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,30 @@ class MinHeap {
348348
*/
349349
```
350350

351+
#### TypeScript
352+
353+
```ts
354+
export class KthLargest {
355+
#pq = new MinPriorityQueue();
356+
#k = 0;
357+
358+
constructor(k: number, nums: number[]) {
359+
this.#k = k;
360+
for (const x of nums) {
361+
this.#pq.enqueue(x);
362+
if (this.#pq.size() > k) this.#pq.dequeue();
363+
}
364+
}
365+
366+
add(val: number): number {
367+
this.#pq.enqueue(val);
368+
if (this.#pq.size() > this.#k) this.#pq.dequeue();
369+
370+
return this.#pq.front().element;
371+
}
372+
}
373+
```
374+
351375
<!-- tabs:end -->
352376

353377
<!-- solution:end -->
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export class KthLargest {
2+
#pq = new MinPriorityQueue();
3+
#k = 0;
4+
5+
constructor(k: number, nums: number[]) {
6+
this.#k = k;
7+
for (const x of nums) {
8+
this.#pq.enqueue(x);
9+
if (this.#pq.size() > k) this.#pq.dequeue();
10+
}
11+
}
12+
13+
add(val: number): number {
14+
this.#pq.enqueue(val);
15+
if (this.#pq.size() > this.#k) this.#pq.dequeue();
16+
17+
return this.#pq.front().element;
18+
}
19+
}

0 commit comments

Comments
 (0)