java编程 一道java面试题,20亿数字的文本排序,如何取前100?
浏览量:1351
时间:2021-03-11 06:15:03
作者:admin
一道java面试题,20亿数字的文本排序,如何取前100?
因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。公共类快速排序{Public static void main(string[]args){int[]array={
9,
8,
7,
6,
5,
4,
3,
2,
1,0,-1,-2,-3}系统输出打印(“排序前:”)ArrayUtils.printArray(数组)快速排序(数组)系统输出打印(“排序后:”)ArrayUtils.printArray(数组)}公共静态void快速排序(int[]数组){子快速排序(数组,0数组长度-1)}私有静态void子快速排序(int[]array,int start,int end){if(array==null | |(end-start 1)
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。