大顶堆和小顶堆模版
//特殊情况可能出错:例如 Integer.MIN_VALUE - Integer.MAX_VALUE = 1
//大顶堆
PriorityQueue<Integer> maxHeapQueue = new PriorityQueue<>((o1, o2) -> o2 - o1);
//小顶堆
PriorityQueue<Integer> minHeapQueue = new PriorityQueue<>((o1, o2) -> o1 - o2);
PriorityQueue<Integer> maxHeapQueue1 = new PriorityQueue<>((o1, o2) -> {
if (o2 > o1) {
return 1;
} else if (o2 == o1) {
return 0;
} else {
return -1;
}
});
PriorityQueue<Integer> minHeapQueue1 = new PriorityQueue<>((o1, o2) -> {
if (o1 > o2) {
return 1;
} else if (o1 == o2) {
return 0;
} else {
return -1;
}
});