描述
所謂眾數,就是對於給定的含有n個元素的多重集合,每個元素在s中出現次數最多的成為該元素的重數,
多重集合s重的重數最大的元素成為眾數。例如:s=,則多重集s的眾數是2,其重數為3。
現在你的任務是:對於給定的由m個自然數組成的多重集s,計算出s的眾數及其重數。
輸入第一行為n,表示測試資料組數。(n<30)
每組測試的第一行是乙個整數m,表示多重集s中元素的個數為m
接下來的一行中給出m(m<100)個不大於10萬的自然數
(不會出現不同元素出現的次數相同的情況,如:s=)。
輸出每組測試資料輸出一行,包含兩個數,第乙個是眾數,第二個是其重數,中間以空格隔開。
樣例輸入
1
61 2 2 2 3 5
樣例輸出
2 3
#include#include#includevoid sort(int buf, int len)
} if(k != i) }}
int main()
len=i;
sort(buf,len);
j=0;
for(i=0; i//printf(": %d 2:%d \n", buf1[j], buf2[j]);
i--;
j++;
} max=0;
for(i=1; i}
printf("%d %d\n", buf2[max], buf1[max]);
} return 0;
}
c語言分治法求眾數重數 分治法之眾數問題
實驗總結 剛開始我沒有想到可以用分治法來做,用的是陣列來做。做完以後發現演算法太過複雜,而且處理較大的n時,時間複雜度和空間複雜度都比較大。於是我參考了演算法答案那本書,學到了分治法來解決這道題。但是在完成了用分治法的 以後,我發現了問題 輸出應該為 分治法解決這道題有乙個大前提 多重集中的元素是有...
演算法 眾數問題
眾數問題 description 給定含有n個元素的多重集合s,每個元素在s中出現的次數稱為該元素的重數。多重 集s中重數最大的元素稱為眾數。例如,s 多重集s的眾數是2,其重數為3。程式設計任務 對於給定的由n 個自然數組成的多重集s,程式設計計算s 的眾數及其重數。input 輸入資料第1行多重...
眾數問題分析
問題描述 給定乙個陣列,找出其中出現次數最多的那個元素 即眾數 核心思想 普遍的解決思路。如果我們將所有元素的出現次數進行統計,並從中找出次數中的最大值,那麼,這個最大值對應的元素就是眾數。從這一思想出發,我總結出以下兩種演算法 演算法1 利用排序演算法統計 演算法2 利用陣列或雜湊表統計 演算法1...