java取商和余數(shù) 一道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
int num=72//定義一個變量num來存儲數(shù)字int a=72 //num,取10的余數(shù)得到一位數(shù)int b=72/10//num,除以10得到十位數(shù),因為b是塑料的,小數(shù)將自動省略
1。使用Select count(*)獲取記錄總數(shù)t
2使用分頁搜索,使用random number獲取0<x<T的X數(shù),然后使用X
3獲取分頁數(shù)和分頁量。分頁搜索得到的是一個隨機(jī)記錄。
4. 循環(huán)步驟1-3,直到獲得所需數(shù)量的隨機(jī)記錄。