java取字符串某一位 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?因為這是一個Java問題,所以這是典型的TOPK問題。首先取前100個數(shù)字構(gòu)建一個最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時調(diào)整堆。堆中最
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因為這是一個Java問題,所以這是典型的TOPK問題。首先取前100個數(shù)字構(gòu)建一個最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時調(diào)整堆。堆中最后100個元素就是結(jié)果??臻g復(fù)雜度為k,時間復(fù)雜度為nlogk
首先要知道Java中數(shù)組的length屬性是用來獲取數(shù)組長度的,string類的length()方法是用來獲取字符串長度的,如下圖所示:
其次,我們來看看具體的代碼,通過“string s=”abcdefgkhj“int a=s.length()系統(tǒng)輸出打?。ā皊 string length:“a)”代碼獲取字符串s的長度,如下圖所示:
第3步:運行程序,可以看到字符串s的長度是10,如下圖所示:
第4步:輸入“int data[]={12,23,34,45,16,78}int C=data.lengthSystem.out數(shù)據(jù)長度系統(tǒng)輸出. println(“數(shù)據(jù)數(shù)組長度:”c)第5步:運行程序。您可以看到數(shù)據(jù)數(shù)組的長度是6,如下圖所示