統計數字 快速排序題解

2021-09-13 23:37:34 字數 537 閱讀 6730

某次科研調查時得到了n個自然數,每個數均不超過1500000000 (1.5×109)。已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。

輸入第1行是整數n,表示自然數的個數;

第2~n+l每行乙個自然數。

輸出共m行(m為n個自然數中不相同數的個數),按照自然數從小到大的順序輸出。每行輸出兩個整數,分別是自然數和該數出現的次數,其間用乙個空格隔開。

這個題因為資料過大,不能用桶排序,所以我們只能考慮最簡單(應該有別的好辦法,但是我想到的是這樣)的暴力法,我們先用sort函式將這個數列排好順序,然後依次輸出,用乙個巧妙的判斷來判斷相同的數有幾個,**見下圖,注意最後乙個數和第乙個數要經過特殊處理

#include #includeusing namespace std;

int a[1000005];

int n,i,k,cnt=0,j;

int main()

sort(a,a+n);

for(i=0;i喜歡的話加個關注吧,我是wanna_ac

統計數字 快速排序

題目描述 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。輸入描述 第1行是整數n,表示自然數的個數 第2 n l每行乙個自然數。輸出描述 共m行 m為...

統計數字(快速排序,emmm,更更快)

時間限制 1 sec 記憶體限制 128 mb 提交 153 解決 83 提交 狀態 討論版 命題人 外部匯入 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統...

A 統計數字

time limit 1 sec memory limit 128 mb submit 51 solved 28 submit status web board 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 109 已知不相同的數不超過10000個,現在需要統計這些自然...