题目链接
一道签到题
比赛的时候读完题去看了下样例,发现找字母最大重复次数即可
直接用最笨的方法看26个字母哪个重复次数最大即可
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;
}