卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

九民紀要第64條 一道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復雜度為k,時間復雜度為nlogk

~]#include<stdio。H>//調(diào)用標準輸入/輸出函數(shù)需要此頭文件,該函數(shù)是printf和scanf函數(shù)使用的voidmain()//主函數(shù){inti,J,min,temp,a[10]printf(“please input:n”)//屏幕輸出引號中的字符,然后替換(I=1I<=10I)的行)//輸入10個數(shù)據(jù){printf(“a[%D]=”,I)scanf(%D”,&A[I])}//讀取數(shù)據(jù)函數(shù)printf(“n”)//wrap for(I=1I<=9i)//比較10個數(shù)據(jù){min=I//為minfor(J=I 1J<=10J)分配每個比較的最小數(shù)據(jù))//比較循環(huán)控制if(a[min]>A[J])min=J//temp=a[i]a[i]=a[min]//a[i]中存儲的最小值是a[min]=temp}printf(“n從大到小為:n”)//輸出字符(i=10I>=1I--)//循環(huán)數(shù)據(jù)printf(“]”,a[i])printf(“”)//輸出每個數(shù)據(jù)的新行}