import java.util.*;
public class Solution {
public int GetUglyNumber_Solution(int index) {
if(index == 0){
return 0;
}
HashSet<Long> set = new HashSet<>();
PriorityQueue<Long> pq = new PriorityQueue<>();
set.add(1l);
pq.offer(1l);
long num = 0;
for(int i = 0;i<index;i++){
num = pq.poll();
if(!set.contains(2*num)){
set.add(num*2);
pq.offer(num*2);
}
if(!set.contains(3*num)){
set.add(num*3);
pq.offer(num*3);
}
if(!set.contains(5*num)){
set.add(num*5);
pq.offer(num*5);
}
}
return (int)num;
}
}

京公网安备 11010502036488号