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));
上一篇:php 图片验证码生成 前后台验证


下一篇:顺序表 链表 栈 二叉树 数据结构