可以使用java的PriorityQueue实现,具体如下:
- 建立一个大小为4的最小堆(min heap);
- 将100万个数逐一加入堆中;
- 当堆的大小大于4时,将堆顶元素弹出;
- 遍历完所有数字后,堆中的四个数就是最大的四个数。
代码示例:
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) {
int n = 1000000;
int[] nums = new int[n];