數(shù)組截取前5個 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?因為這是一個Java問題,所以這是典型的TOPK問題。首先取前100個數(shù)字構建一個最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時調整堆。堆中最
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因為這是一個Java問題,所以這是典型的TOPK問題。首先取前100個數(shù)字構建一個最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時調整堆。堆中最后100個元素就是結果??臻g復雜度是k,時間復雜度是nlogk
介紹一個函數(shù),split,它的用法是:return array=split(原始字符串,要找到的字符串,拆分成幾個數(shù)組)那么,假設你的字符串是:STR=“rain every day,today,tomorrow?“所以:STR=”每天下雨,今天,明天?“s=拆分(str,”,“”)回答。寫S(0)這里,字符串STR根據(jù)“,”分成N部分,然后分配給數(shù)組S。最后,數(shù)組的第一個元素S(0)是您想要的第一個逗號之前的字符串。以此類推:s(0)=“每天都下雨”s(1)=“今天沒下雨”