java取余運算規(guī)則 一道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ù)位數(shù)將自動省略
C語言浮點數(shù)據(jù)不能取余數(shù)。浮點數(shù)據(jù)轉(zhuǎn)換成整數(shù)數(shù)據(jù)后,可以通過除法和余數(shù)得到其單個位、十位和百位。可以先將其轉(zhuǎn)換為int,然后取剩余的%。例如,浮點數(shù)據(jù)521.63在成形后被轉(zhuǎn)換成521。如果取10的余數(shù),就可以得到一位數(shù)1。如果取100的余數(shù),除以10得到10位數(shù)2。如果你把它除以100得到百位數(shù)5。