264 Ugly Number II
264. Ugly Number II
1. Question
2. Implementation
class Solution {
public int nthUglyNumber(int n) {
PriorityQueue<Long> minHeap = new PriorityQueue<>();
minHeap.add(1L);
long curNum = 0;
for (int i = 0; i < n; i++) {
curNum = minHeap.remove();
while (!minHeap.isEmpty() && minHeap.peek() == curNum) {
curNum = minHeap.remove();
}
minHeap.add(2 * curNum);
minHeap.add(3 * curNum);
minHeap.add(5 * curNum);
}
return (int)curNum;
}
}3. Time & Space Complexity
Last updated