0
点赞
收藏
分享

微信扫一扫

OSI 模型

老北京的热干面 2天前 阅读 2

1.给定100个int数字,在其中找出最大的10个;

import java.util.PriorityQueue;

public class Main {
    public static void main(String[] args) {
        final int topK = 3;
        int[] vec = {4, 1, 5, 8, 7, 2, 3, 0, 6, 9};
        PriorityQueue<Integer> pq = new PriorityQueue<>(topK);
        for (int x : vec) {
            pq.offer(x);
            if (pq.size() > topK) {
                // 如果超出个数,则弹出堆顶(最小的)数据
                pq.poll();
            }
        }

        while (!pq.isEmpty()) {
            System.out.println(pq.poll()); // 输出依次为7,8,9
        }
    }
}


⒉给定10亿个int数字,在其中找出最大的10个(这10个数字可以无序);

3.给定10亿个int数字,在其中找出最大的10个(这10个数字依次排序);

4.给定10亿个不重复的int数字,在其中找出最大的10个;


5.给定10个数组,每个数组中有1亿个int数字,在其中找出最大的10个;

6.给定10亿个string类型的数字,在其中找出最大的10个(仅需要查1次);


7.给定10亿个string类型的数字,在其中找出最大的k个(需要反复多次查询,其中k是一个随机数字)。


 

举报

相关推荐

0 条评论