2016 - 2024

感恩一路有你

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

浏览量:1942 时间:2021-03-25 03:00:09 作者:admin

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

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

在以前的JDK7版本中,sort()的实现原理是:基本类型使用优化的快速排序,其他类型使用优化的合并排序。在JDK7之后,排序策略被修改:如果设置了JVM启动参数-Djava.util.Arrays文件.useLegacyMergeSort=true则将执行上述排序策略(优化合并排序),否则将执行timsort。

java实现数组倒序 java整数类型 java运算符

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。