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

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

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

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

1。Left函数:从左边提取第一个字符,取若干位,=Left(A1,4)取第一个字符;

2。Mid函数:从第一个字符中提取若干位,=Mid(A1,1,4)从第一个字符中提取四位;

3。右函数:从右抽取位数,即从后向前抽取若干位,=Right(a)1,4)即最后四位。