java實(shí)現(xiàn)excel的數(shù)據(jù)導(dǎo)入 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?既然是java題,這就是經(jīng)典的topk問(wèn)題。先取前100個(gè)數(shù),建立一個(gè)最小堆,剩下的數(shù)依次從堆頂插入元素,同時(shí)調(diào)整堆。最后堆中的100個(gè)元素即
一道java面試題,20億數(shù)字的文本排序,如何取前100?
既然是java題,這就是經(jīng)典的topk問(wèn)題。先取前100個(gè)數(shù),建立一個(gè)最小堆,剩下的數(shù)依次從堆頂插入元素,同時(shí)調(diào)整堆。最后堆中的100個(gè)元素即為結(jié)果。空間復(fù)雜度為k,時(shí)間復(fù)雜度為nlogk
java中需要排序的數(shù)據(jù),為什么都是用hashmap,而不是直接用sortmap?
應(yīng)用場(chǎng)景不同
【TreeMap繼承自SortedMap】它用來(lái)保持鍵的有序順序,也包含了很多排序的方法。
【HashMap】 是無(wú)序的,由Collections的sort方法進(jìn)行排序。