1.java PriorityQueue的初次使用,offer,poll,peek
2. 使用题目中Pow((x-1),0.5)进行模拟的话需要考虑数据边界,但是使用Pow(x,0.5)就不用考虑
class Solution {
public long pickGifts(int[] gifts, int k) {
PriorityQueue<Integer> pq= new PriorityQueue<Integer>((a,b) -> -a+b);
for(int i : gifts){
pq.offer(i);
}
while(k>0){
k--;
int x = pq.poll();
pq.offer((int) Math.pow(x,0.5));
}
long res =0 ;
while(!pq.empty()){
res+=pq.poll();
}
return res;
}
}