java截取字符串前三位 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?因?yàn)檫@是一個(gè)Java問題,所以這是典型的TOPK問題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因?yàn)檫@是一個(gè)Java問題,所以這是典型的TOPK問題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最后100個(gè)元素就是結(jié)果??臻g復(fù)雜度為k,時(shí)間復(fù)雜度為nlogk
1。Left函數(shù):從左邊提取第一個(gè)字符,取若干位,=Left(A1,4)取第一個(gè)字符;
2。Mid函數(shù):從第一個(gè)字符中提取若干位,=Mid(A1,1,4)從第一個(gè)字符中提取四位;
3。右函數(shù):從右抽取位數(shù),即從后向前抽取若干位,=Right(a)1,4)即最后四位。