Lien de la question Une question de connexion Après avoir lu la
question
pendant le concours, j'ai regardé l'exemple et j'ai constaté que vous pouviez trouver le nombre maximum de répétitions de lettres.
Utilisez directement le moyen le plus stupide pour voir laquelle des 26 lettres a le plus grand nombre de répétitions.
Code AC:
#include<iostream>
#include<cstdio>
#include<cstring>
#include <algorithm>
using namespace std;
const int maxn = 10005;
int T,t=1;
int res[30];
bool cmp1(int a,int b)//int为数组数据类型
{
return a>b;//降序排列
//return a<b;//默认的升序排列
}
int main()
{
cin>>T;
while(T--){
//char str[maxn];
string s;
cin>>s;
memset(res,0,sizeof(res));
int len=s.length();
for(int i=0;i<len;i++)
{
if(s[i]=='a') res[0]++;
else if(s[i]=='b') res[1]++;
else if(s[i]=='c') res[2]++;
else if(s[i]=='d') res[3]++;
else if(s[i]=='e') res[4]++;
else if(s[i]=='f') res[5]++;
else if(s[i]=='g') res[6]++;
else if(s[i]=='h') res[7]++;
else if(s[i]=='i') res[8]++;
else if(s[i]=='j') res[9]++;
else if(s[i]=='k') res[10]++;
else if(s[i]=='l') res[11]++;
else if(s[i]=='m') res[12]++;
else if(s[i]=='n') res[13]++;
else if(s[i]=='o') res[14]++;
else if(s[i]=='p') res[15]++;
else if(s[i]=='q') res[16]++;
else if(s[i]=='r') res[17]++;
else if(s[i]=='s') res[18]++;
else if(s[i]=='t') res[19]++;
else if(s[i]=='u') res[20]++;
else if(s[i]=='v') res[21]++;
else if(s[i]=='w') res[22]++;
else if(s[i]=='x') res[23]++;
else if(s[i]=='y') res[24]++;
else if(s[i]=='z') res[25]++;
}
sort(res,res+30,cmp1);
printf("Case #%d: %d\n",t++,res[0]);
}
return 0;
}