所有員工的年齡排序《演算法很美》
所有員工的年齡排序
- 公司現在要求對幾萬員工的年齡進行排序,因為公司員工的人數非常多,所以要求排序演算法的效率要非常高,你能寫出這樣的程式嗎
- 輸入:輸入可能包含多個測試樣例,對於每個測試案例,
- 輸入的第一行為一個整數n(1<= n<=1000000): 代表公司內員工的人數。
- 輸入的第二行包括n個整數:代表公司內每個員工的年齡。其中,員工年齡age的取值範圍為 (1<=age<=99)。
- 輸出:對應每個測試案例,
- 請輸出排序後的n個員工的年齡,每個年齡後面有一個空格。
思路: 你可能會看不出來,其實用的就是計數排序。
計數排序適用於資料範圍小且已知
不懂計數排序的,先看我計數排序的文章
public class 所有員工年齡排序 {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
int i = 0;
int[] arr = new int[x];
while(i<x){
int p = scanner.nextInt();
arr[i++] = p;
}
sort(arr);
Util.print(arr);
}
public static void sort(int[] A){
int max = Util.maxOf(A);
int[] helper = new int[max+1];
for(int e : A){
helper[e]++;
}
int current = 0;
for(int i=1;i<helper.length;i++){
while(helper[i]>0){
A[current++] = i;
helper[i]--;
}
}
}
}
相關文章
- 【劍指offer】員工年齡排序排序
- 第三章:查詢與排序(下)----------- 3.27 用計數排序解決員工年齡問題排序
- 逆序對《演算法很美》演算法
- 怎樣用Excel函式自動計算員工工齡及休假天數Excel函式
- 漢諾塔遊戲《演算法很美》遊戲演算法
- 壓縮字串《演算法很美》字串演算法
- 如何給廣東省人口按照年齡來排序?排序
- 甲骨文解僱所有 Solaris 技術員工
- 替換字串中的空格《演算法很美》字串演算法
- 字串匹配之KMP《演算法很美》字串匹配KMP演算法
- 微軟EPG老大讓秘書發給微軟所有員工的郵件微軟
- 10年工齡的90後程式設計師折騰部落格的這些年程式設計師
- Excel函式應用例項:職工年齡統計(轉)Excel函式
- 工齡怎麼計算excel公式精確到月 如何設定工齡計算公式Excel公式
- 貝索斯年度股東信:亞馬遜有84萬名員工將 對所有員工進行新冠定期檢測亞馬遜
- SQL217 對所有員工的薪水按照salary降序進行1-N的排名SQL
- Good:2013年50%的員工將要求BYODGo
- 判斷兩字串的字符集是否相同《演算法很美》字串演算法
- 別人家的工資!在BAT做三年,普通員工能拿多少?BAT
- 別人家的工資!在BAT做三年普通員工能拿多少?BAT
- 蘋果:2015年員工多樣性報告 女性員工同比增長65%蘋果
- 蘋果:2014年員工多樣性報告 男性員工佔比達70%蘋果
- JavaScript計算年齡JavaScript
- 中文年齡函式函式
- PHP計算年齡、PHP
- pl/sql更新某個員工的工資SQL
- 華為員工構成分析 外籍員工佔近20%
- 科技行業的年齡歧視行業
- 根據生日求年齡的SQLSQL
- excel身份證號提取年齡公式 身份證號碼提取精確年齡的公式Excel公式
- 搞笑的排序演算法-睡覺排序排序演算法
- 程式設計師亮點:招了一個被裁的華為老員工,竟然還不如兩三年的新員工?程式設計師
- 谷歌:2018年穀歌員工多樣化報告 美國員工36%是亞裔谷歌
- 員工工作管理
- 出現k次與出現1次《演算法很美》演算法
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 排序演算法__桶排序排序演算法
- 排序演算法__快速排序排序演算法