数组截取前5个 一道java面试题,20亿数字的文本排序,如何取前100?
一道java面试题,20亿数字的文本排序,如何取前100?因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最
一道java面试题,20亿数字的文本排序,如何取前100?
因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度是k,时间复杂度是nlogk
介绍一个函数,split,它的用法是:return array=split(原始字符串,要找到的字符串,拆分成几个数组)那么,假设你的字符串是:STR=“rain every day,today,tomorrow?“所以:STR=”每天下雨,今天,明天?“s=拆分(str,”,“”)回答。写S(0)这里,字符串STR根据“,”分成N部分,然后分配给数组S。最后,数组的第一个元素S(0)是您想要的第一个逗号之前的字符串。以此类推:s(0)=“每天都下雨”s(1)=“今天没下雨”