java向下取整函數(shù) 一道java面試題,20億數(shù)字的文本排序,如何取前100?
一道java面試題,20億數(shù)字的文本排序,如何取前100?因?yàn)檫@是一個(gè)Java問(wèn)題,所以這是典型的TOPK問(wèn)題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因?yàn)檫@是一個(gè)Java問(wèn)題,所以這是典型的TOPK問(wèn)題。首先取前100個(gè)數(shù)字構(gòu)建一個(gè)最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時(shí)調(diào)整堆。堆中最后100個(gè)元素就是結(jié)果??臻g復(fù)雜度是k,時(shí)間復(fù)雜度是nlogk
在Java中有很多方法可以將一個(gè)數(shù)取整數(shù)學(xué).ceil()示例:數(shù)學(xué).ceil(11.4)=12 數(shù)學(xué).ceil(- 11.6) = - 11.2. 向下取整數(shù)學(xué)地板()示例:數(shù)學(xué)地板(11.7)=11 數(shù)學(xué)地板(- 11.2) = - 12.3. 舍入數(shù)學(xué)圓()顧名思義,圓圓的數(shù)學(xué)圓(x 5),也就是說(shuō),在原始數(shù)字上加0.5后,可以對(duì)其進(jìn)行四舍五入。舉個(gè)例子:數(shù)學(xué)圓(11.5)=12 數(shù)學(xué)圓(-11.5)=-11