字母統計
字母統計
時間限製:3000 ms | 內存限製:65535 KB
難度:1
- 描述
- 現在給你一個由小寫字母組成字符串,要你找出字符串中出現次數最多的字母,如果出現次數最多字母有多個那麼輸出最小的那個。
- 輸入
- 第一行輸入一個正整數T(0<T<25)
隨後T行輸入一個字符串s,s長度小於1010。 - 輸出
- 每組數據輸出占一行,輸出出現次數最多的字符;
- 樣例輸入
-
3 abcd bbaa jsdhfjkshdfjksahdfjkhsajkf
- 樣例輸出
-
a a j
-
思路是:先找出出現最大值,然後再循環找出最小字母出現最多次數的下標,就可以了!
查看代碼---運行號:252183----結果:Accepted
運行時間:2012-10-05 12:15:42 | 運行人:huangyibiao
01.
#include <iostream>
02.
#include <algorithm>
03.
#include <cstring>
04.
using
namespace
std;
05.
06.
int
main()
07.
{
08.
int
testNum;
09.
cin >> testNum;
10.
cin.get();
11.
int
ch[26], c;
12.
while
(testNum--)
13.
{
14.
memset
(ch, 0,
sizeof
(ch));
15.
while
((c = cin.get()) !=
'\n'
)
16.
{
17.
ch[c -
'a'
]++;
18.
}
19.
int
max = ch[0];
20.
for
(
int
i = 1; i < 26; i++)
21.
{
22.
if
(max < ch[i])
23.
{
24.
max = ch[i];
25.
}
26.
}
27.
//cout << "max:" << max << endl;
28.
int
index = 0;
29.
for
(
int
i = 0; i < 26; i++)
30.
{
31.
if
(ch[i] == max)
32.
{
33.
index = i;
34.
break
;
35.
}
36.
}
37.
cout <<
char
(index +
'a'
) << endl;
38.
}
39.
return
0;
40.
}
最後更新:2017-04-02 15:14:53