java是什么 一道java面试题,20亿数字的文本排序,如何取前100?

一道java面试题,20亿数字的文本排序,如何取前100?因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最

一道java面试题,20亿数字的文本排序,如何取前100?

因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度是k,时间复杂度是nlogk

在Java中,数组的下标表示数组中的元素,从0开始的值,0表示第一个元素,1表示第二个元素,依此类推。示例如下:int[]entry=New int[]1,2,4}//创建int类型的新数组系统输出打印(int[0])//其中0是数组的第一个值,即1,下标是0