leetcode 員工排序

2021-08-31 18:52:37 字數 762 閱讀 4843

這道題給定的年齡範圍其實在0-99之間,是乙個很小的數字範圍,所以我們可以考慮使用輔助空間來對這些年齡進行排序

1.我們可以開闢乙個可以存放100個數字的陣列,1就代表一歲

2.進行迴圈統計每個年齡出現了多少次,比如37歲出現10次,那麼輔助陣列中下標為37的位置就為數字10

3.進行倆次迴圈對ages陣列進行排序

#include

void

sortage

(int ages,

int len);if

(ages ==

null

&& len <=0)

return

; oldestage =99;

//定義最大年齡為99

timeofage[oldestage +1]

;//建立乙個年齡與陣列下標相同的陣列

for(i =

0; i < oldestage; i++

)for

(i =

0; i < len; i++

) index =0;

for(i =

0; i <= oldestage; i++)}

}int

main()

;sortage

(age,10)

;for

(i =

0; i<

10; i++

)return0;

}

所有員工年齡排序

何海濤 劍指offer 名企面試官精講典型程式設計題 九度oj 題目描述 公司現在要對所有員工的年齡進行排序,因為公司員工的人數非常多,所以要求排序演算法的效率要非常高,你能寫出這樣的程式嗎?輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為乙個整數n 1 n 1000000 代表公司...

員工年齡排序演算法

對公司幾萬員工年齡排序 include vector include iostream using namespace std void arrayprint int a,int n void sortages0 int ages,int length int count 0 for size t ...

企業員工年齡排序

題目 已知企業所有員工得年齡,請將所有員工得年齡從小到大排序。程式 include void sortage int age,int num 存放0 99歲各個年齡得人數 int index 0 重新賦值age時陣列索引 統計各個年齡人數 for int i 0 i num i 將年齡從小到大存入a...