Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[fix][javascript] super-ugly-number #1586

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions 多语言解法代码/solution_code.md
Original file line number Diff line number Diff line change
Expand Up @@ -62284,13 +62284,15 @@ class Solution {
var nthSuperUglyNumber = function(n, primes) {
// 优先队列中装三元组 int[] {product, prime, pi}
// 其中 product 代表链表节点的值,prime 是计算下一个节点所需的质数因子,pi 代表链表上的指针
let pq = new PriorityQueue((a, b) => {
return a[0] - b[0];
let pq = new PriorityQueue({
compare: (a, b) => {
return a[0] - b[0];
}
});

// 把多条链表的头结点加入优先级队列
for (let i = 0; i < primes.length; i++) {
pq.offer([ 1, primes[i], 1 ]);
pq.enqueue([ 1, primes[i], 1 ]);
}

// 可以理解为最终合并的有序链表(结果链表)
Expand All @@ -62300,7 +62302,7 @@ var nthSuperUglyNumber = function(n, primes) {

while (p <= n) {
// 取三个链表的最小结点
let pair = pq.poll();
let pair = pq.dequeue();
let product = pair[0];
let prime = pair[1];
let index = pair[2];
Expand All @@ -62314,7 +62316,7 @@ var nthSuperUglyNumber = function(n, primes) {

// 生成下一个节点加入优先级队列
let nextPair = [ugly[index] * prime, prime, index + 1];
pq.offer(nextPair);
pq.enqueue(nextPair);
}
return ugly[n];
};
Expand Down