313 Super Ugly Number
313. Super Ugly Number
1. Question
2. Implementation
class Solution {
public int nthSuperUglyNumber(int n, int[] primes) {
if (primes == null || primes.length == 0) {
return 0;
}
PriorityQueue<Long> minHeap = new PriorityQueue<>();
minHeap.add(1L);
long curNum = 1;
for (int i = 1; i <= n; i++) {
curNum = minHeap.remove();
while (!minHeap.isEmpty() && minHeap.peek() == curNum) {
minHeap.remove();
}
for (int prime : primes) {
minHeap.add(curNum * prime);
}
}
return (int)curNum;
}
}3. Time & Space Complexity
Last updated