給定含有n個元素的多重集合s,每個元素在s**現的次數稱為該元素的重數。多重集s中重數最大的元素稱為眾數。例如,s=。多重集s的眾數是2,其重數為3。對於給定的由n 個自然數組成的多重集s,計算s的眾數及其重數。如果出現多個眾數,請輸出最小的那個。
input
輸入資料的第1行是多重集s中元素個數n(n<1300000);接下來的n行中,每行有乙個最多含有5位數字的自然數,。
output
輸出資料的第1行給出眾數,第2行是重數。
sample input
612
2235
sample output
2
3
該問題就是求乙個集合最小眾數的問題。
#include
using
namespace std;
intmain()
else
if(max==times[x]
)//如果當前眾數的重數等於元素 x 的出現次數,說明兩個數都是眾數,這時需要選出最小的那個
分治演算法 眾數問題
problem description 給定含有n個元素的多重集合s,每個元素在s 現的次數稱為該元素的重數。多重集s中重數最大的元素稱為眾數。例如,s 多重集s的眾數是2,其重數為3。對於給定的由n 個自然數組成的多重集s,計算s的眾數及其重數。如果出現多個眾數,請輸出最小的那個。input 輸入...
分治演算法 眾數問題
給定含有 n 個元素的多重集合 s,每個元素在 s 現的次數稱為該元素的重數。多重 集 s 中重數最大的元素稱為眾數。例如,s 多重集 s 的眾數是 2,其重數為 3。對於給定的由 n 個自然數組成的多重集 s,程式設計計算 s 的眾數及其重數。輸入資料由檔名為 input.txt 的文字檔案提供。...
分治演算法解決眾數問題
題目 給定含有n個元素的多重集合s,每個元素在s 現的次數稱為該元素的重數。多重集s中重數最大的元素稱為眾數,如s 多重集s的眾數是2,其重數為3。分析 include using namespace std define m 100 int a m int num,val,n 重數,眾數,個數 v...