参考别人的代码:
import java.util.PriorityQueue;
public class Solution {
PriorityQueue<Integer> min=new PriorityQueue<>();
PriorityQueue<Integer> max=new PriorityQueue<>((a,b)->b-a);
public void Insert(Integer num) {
max.add(num);
min.add(max.remove());
if (min.size()>max.size())
max.add(min.remove());
}
public Double GetMedian() {
if (min.size() == max.size()){
return (max.peek()+min.peek())/2.0;
} else{
return(double)max.peek();
}
}
}
京公网安备 11010502036488号