Skip to content

Commit 398146b

Browse files
authored
feat: add solutions to lc problem: No.0146 (#3909)
No.0146.LRU Cache
1 parent a336f65 commit 398146b

File tree

14 files changed

+925
-610
lines changed

14 files changed

+925
-610
lines changed

solution/0000-0099/0023.Merge k Sorted Lists/README.md

+2-10
Original file line numberDiff line numberDiff line change
@@ -232,11 +232,7 @@ func (h *hp) Pop() any { a := *h; v := a[len(a)-1]; *h = a[:len(a)-1];
232232

233233
function mergeKLists(lists: Array<ListNode | null>): ListNode | null {
234234
const pq = new MinPriorityQueue({ priority: (node: ListNode) => node.val });
235-
for (const head of lists) {
236-
if (head) {
237-
pq.enqueue(head);
238-
}
239-
}
235+
lists.filter(head => head).forEach(head => pq.enqueue(head));
240236
const dummy: ListNode = new ListNode();
241237
let cur: ListNode = dummy;
242238
while (!pq.isEmpty()) {
@@ -318,11 +314,7 @@ impl Solution {
318314
*/
319315
var mergeKLists = function (lists) {
320316
const pq = new MinPriorityQueue({ priority: node => node.val });
321-
for (const head of lists) {
322-
if (head) {
323-
pq.enqueue(head);
324-
}
325-
}
317+
lists.filter(head => head).forEach(head => pq.enqueue(head));
326318
const dummy = new ListNode();
327319
let cur = dummy;
328320
while (!pq.isEmpty()) {

solution/0000-0099/0023.Merge k Sorted Lists/README_EN.md

+2-10
Original file line numberDiff line numberDiff line change
@@ -233,11 +233,7 @@ func (h *hp) Pop() any { a := *h; v := a[len(a)-1]; *h = a[:len(a)-1];
233233

234234
function mergeKLists(lists: Array<ListNode | null>): ListNode | null {
235235
const pq = new MinPriorityQueue({ priority: (node: ListNode) => node.val });
236-
for (const head of lists) {
237-
if (head) {
238-
pq.enqueue(head);
239-
}
240-
}
236+
lists.filter(head => head).forEach(head => pq.enqueue(head));
241237
const dummy: ListNode = new ListNode();
242238
let cur: ListNode = dummy;
243239
while (!pq.isEmpty()) {
@@ -319,11 +315,7 @@ impl Solution {
319315
*/
320316
var mergeKLists = function (lists) {
321317
const pq = new MinPriorityQueue({ priority: node => node.val });
322-
for (const head of lists) {
323-
if (head) {
324-
pq.enqueue(head);
325-
}
326-
}
318+
lists.filter(head => head).forEach(head => pq.enqueue(head));
327319
const dummy = new ListNode();
328320
let cur = dummy;
329321
while (!pq.isEmpty()) {

solution/0000-0099/0023.Merge k Sorted Lists/Solution.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,7 @@
1111
*/
1212
var mergeKLists = function (lists) {
1313
const pq = new MinPriorityQueue({ priority: node => node.val });
14-
for (const head of lists) {
15-
if (head) {
16-
pq.enqueue(head);
17-
}
18-
}
14+
lists.filter(head => head).forEach(head => pq.enqueue(head));
1915
const dummy = new ListNode();
2016
let cur = dummy;
2117
while (!pq.isEmpty()) {

solution/0000-0099/0023.Merge k Sorted Lists/Solution.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@
1212

1313
function mergeKLists(lists: Array<ListNode | null>): ListNode | null {
1414
const pq = new MinPriorityQueue({ priority: (node: ListNode) => node.val });
15-
for (const head of lists) {
16-
if (head) {
17-
pq.enqueue(head);
18-
}
19-
}
15+
lists.filter(head => head).forEach(head => pq.enqueue(head));
2016
const dummy: ListNode = new ListNode();
2117
let cur: ListNode = dummy;
2218
while (!pq.isEmpty()) {

0 commit comments

Comments
 (0)