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

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

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

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

首先使用一个变量来接受您输入的字符,然后通过下标遍历变量。

有,。

到变量。

对于其他人,请输入另一个变量并记住进行拼接。

最后,打印出来