眾數問題
眾數問題
時間限製:3000 ms | 內存限製:65535 KB
難度:3
- 描述
-
所謂眾數,就是對於給定的含有N個元素的多重集合,每個元素在S中出現次數最多的成為該元素的重數,
多重集合S重的重數最大的元素成為眾數。例如:S={1,2,2,2,3,5},則多重集S的眾數是2,其重數為3。
現在你的任務是:對於給定的由m個自然數組成的多重集S,計算出S的眾數及其重數。
- 輸入
- 第一行為n,表示測試數據組數。(n<30)
每組測試的第一行是一個整數m,表示多重集S中元素的個數為m
接下來的一行中給出m(m<100)個不大於10萬的自然數
(不會出現不同元素出現的次數相同的情況,如:S={11,11,22,22,33,33})。
- 輸出
- 每組測試數據輸出一行,包含兩個數,第一個是眾數,第二個是其重數,中間以空格隔開。
- 樣例輸入
-
1 6 1 2 2 2 3 5
- 樣例輸出
-
2 3
查看代碼---運行號:253104----結果:Accepted
運行時間:2012-10-07 22:15:48 | 運行人:huangyibiao
01.
#include <iostream>
02.
#include <algorithm>
03.
#include <map>
04.
using
namespace
std;
05.
06.
int
main()
07.
{
08.
int
sample;
09.
cin >> sample;
10.
11.
while
(sample --)
12.
{
13.
int
m;
14.
cin >> m;
15.
16.
map<
int
,
int
> mp;
17.
18.
long
tmp;
19.
for
(
int
i = 0; i < m; i++)
20.
{
21.
cin >> tmp;
22.
mp[tmp]++;
23.
}
24.
map<
int
,
int
>::iterator end = mp.end(), begin = mp.begin(),
25.
maxIter = begin;
26.
int
max = begin->second;
27.
for
(begin; begin != end; begin++)
28.
{
29.
if
(max < begin->second)
30.
{
31.
max = begin->second;
32.
maxIter = begin;
33.
}
34.
}
35.
cout << maxIter->first <<
" "
<< max << endl;
36.
37.
}
38.
return
0;
39.
}
最後更新:2017-04-02 15:14:57
上一篇:
Win7優化誤區一覽
下一篇:
筆記本CPU正常溫度控製技巧
Spring事務管理—aop:pointcut expression解析
C# 下利用ICSharpCode.SharpZipLib.dll實現文件/文件夾壓縮、解壓縮
《Servlet、JSP和Spring MVC初學指南》——2.4 HttpSession對象
設計模式——簡單工廠模式
《Netty官方指南》把Netty當做一個通用的庫
Android手機 Root 安全問題 機製
【雲棲大會】讓人敬佩的白發程序員 MySQL之父Monty 的雲棲之旅
阿裏10年分布式技術沉澱:阿裏高可用體係核心締造者、全鏈路壓測創始人告訴你!
eSIM卡在物聯網領域的應用前景
Mstar揭神秘麵紗,山寨啟二次洗牌