
堆
lhj_loveFang_1105
稳住不慌
展开
-
java中用优先队列解决最后一块石头重量问题
问题如下: 遇到这种选出最重最大最小的问题,首先我们就想到可以用优先队列来解决。 public int lastStoneWeight(int[] stones) { PriorityQueue<Integer> queue = new PriorityQueue<>((o1, o2) -> o2-o1); for(i...原创 2020-05-07 18:00:59 · 262 阅读 · 0 评论 -
JAVA中的堆
1.堆 堆实际上就是用数组将一个完全二叉树存起来,堆的主要用途就是用来找集合中的最大值和最小值,也可以解决top-K问题,就是类似找出第一最大值,第二最大值。。。。 1》堆可以分为:大堆和小堆 大堆:树中的任意节点,节点值必须大于左右孩子的值 小堆:树中的任意节点,节点值必须小于左右孩子的值 2》堆的调整操作: 向上调整(除根结点外,其他结点都符合堆的要求)对象:大堆小堆 private vo...原创 2020-05-02 20:41:26 · 398 阅读 · 0 评论