java的数据类型操作 - 堆

使用java做算法题时,与堆相关的常用操作:

大顶堆:

//其中map为全局变量

PriorityQueue<Integer> pq = new PriorityQueue<>(new Comparator<Integer>(
    public int comapre(Integer a, Integer b){
        return map.get(b) - map.get(a);
    }
));

小顶堆:

//其中map为全局变量
PriorityQueue<Integer> pq = new PriorityQueue<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer a, Integer b) {
                return map.get(a) - map.get(b);
            }
        });
PriorityQueue<ListNode> pq = new PriorityQueue<>((x,y) -> (x.val - y.val));
PriorityQueue<Integer> pq = new PriorityQueue<>((x,y) -> (x - y));
posted @ 2021-12-07 10:51  子于舟  阅读(36)  评论(0)    收藏  举报