java的数据类型操作 - 堆

2021/12/7 11:16:35

本文主要是介绍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));


这篇关于java的数据类型操作 - 堆的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程