java獲取list某個字段的值 一道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
Oracle使用substr函數(shù)提前數(shù)據(jù)的前幾位。
例如,測試表中的數(shù)據(jù)如下:
要提取dept字段中的前兩位數(shù)字,可以使用以下語句:
select id,name,substr(dept,1,2)from test
result:
substr function introduction:
syntax:
substr(string,start,長度)
參數(shù):
字符串-要截取的指定字符串
開始-必需,指定字符串的起始位置
正數(shù)-從字符串的指定位置開始
負(fù)數(shù)-從字符串末尾的指定位置開始
0-從字符串的第一個字符開始
長度-可選,指定要截取的字符串的長度。默認(rèn)情況下,返回字符表達式值結(jié)尾之前的所有字符。