问题如何找到第n个丑陋的数字,这个数字只有因子3,5,6。对于那个问题,设计一个算法来找到第k个丑陋的 数。为了解决这个问题,我使用PriorityQueue存储可能 合格的丑陋数字,PriorityQueue将按升序对数字进行排序。 但是,如果我以下列方式初始化队列,则会出现错误 “意外类型,队列队列=新的PriorityQueue()”。
public long kthPrimeNumber(int k) {
// write your code here
if(k<=0){
return -1;
}
Queue<int> queue = new PriorityQueue<int>();
queue.add(3);
queue.add(5);
queue.add(7);
for(int i=1; i<k;i++){
int curr = (int)queue.poll();
queue.add(curr*3);
queue.add(curr*5);
queue.add(curr*7);
}
return (long)((int)queue.poll());
}
答案 0 :(得分:1)
您不能将原始类型用作泛型类型参数。你需要这样的东西
Queue<Integer> queue = new PriorityQueue<Integer>();