描述
如今給你一個由小寫字母組成字符串,要你找出字符串中出現次數最多的字母,若是出現次數最多字母有多個那麼輸出最小的那個。
輸入
第一行輸入一個正整數
T
(
0<T<25
)
隨後
T
行輸入一個字符串
s,s
長度小於
1010
。
輸出
每組數據輸出佔一行,輸出出現次數最多的字符;
樣例輸入
3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
樣例輸出
a
a
j
代碼:
#include <stdio.h>
int main()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
while(readLen > 0)
{
int arr[26]={0};
char inputData[1024];
scanf("%s",inputData);
getchar();
int i=0;
while(inputData[i] != '\0')
{
int tmpIndex = (int)(inputData[i]-'a');
++arr[tmpIndex];
++i;
}
i = 1;
int resultIndex = 0;
for(;i<26;++i)
{
if(arr[resultIndex] < arr[i])
{
resultIndex = i;
}
}
printf("%c\n",'a'+resultIndex);
--readLen;
}
return 0;
}
典型考慮問題思路:
1.讀取數據保存在哪裏
2.利用數組索引直接定位的特性計數
3.遍歷數組比較大小