时间:2024-10-02 01:01:52
导读:Java优先队列/堆(PriorityQueue)中三种重写compare的方法,TopK问题的解决思想及练习题(查找和最小的K对数字、最后一块石头重量) 1. 定义一个类,表示数据,......
Java优先队列/堆(PriorityQueue)中三种重写compare的方法,TopK问题的解决思想及练习题(查找和最小的K对数字、最后一块石头重量)
1. 定义一个类,表示数据,然后创建二维顺序表,先判断k的合法性。
2. 之后建一个数据类型的优先队列,并设置比较器,根据数据的和sum从到大排列。
3. 把所有的数据都放入优先队列中,循环取出队列中的最大值,每取出一个建一个顺序表tmp用来存储,之后再加到总的表result中。
4. 循环直到队列为空。最后返回总表result。