在玩了一段时间字符串后,小t对字符串失去了兴趣,于是他将这个字符串送给了syx,不过在送给syx之前,小t还要问syx一些问题,聪明的你快来帮syx解答吧!
已知小t总共有q次询问,对于小t的每次询问,他都会给你一个区间,你需要回答他在这个区间中出现最多的字母是谁,如果有两个及以上的字母都是出现最多的,则输出字典序小的那个(该字符串仅包含小写拉丁字母)
#include<stdio.h>
#include<math.h>
#include<string.h>
char a[30001];
int x[30001];
char a1[260]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int main(void)
{
int n,q,l,r,ii,i,j,i1;
memset(x,0,sizeof(x));
scanf("%d %d",&n,&q);
scanf("%s",a);
//printf("%c",a1[25]);
for(ii=0;ii<q;ii++)
{
memset(x,0,sizeof(x));
scanf("%d %d",&l,&r);
for(i=l-1;i<=r-1;i++)
{
if(a[i]=='a')
{
x[0]++;
}
if(a[i]=='b')
{
x[1]++;
}
if(a[i]=='c')
{
x[2]++;
}
if(a[i]=='d')
{
x[3]++;
}
if(a[i]=='e')
{
x[4]++;
}
if(a[i]=='f')
{
x[5]++;
}
if(a[i]=='g')
{
x[6]++;
}
if(a[i]=='h')
{
x[7]++;
}
if(a[i]=='i')
{
x[8]++;
}
if(a[i]=='j')
{
x[9]++;
}
if(a[i]=='k')
{
x[10]++;
}
if(a[i]=='l')
{
x[11]++;
}
if(a[i]=='m')
{
x[12]++;
}
if(a[i]=='n')
{
x[13]++;
}
if(a[i]=='o')
{
x[14]++;
}
if(a[i]=='p')
{
x[15]++;
}
if(a[i]=='q')
{
x[16]++;
}
if(a[i]=='r')
{
x[17]++;
}
if(a[i]=='s')
{
x[18]++;
}
if(a[i]=='t')
{
x[19]++;
}
if(a[i]=='u')
{
x[20]++;
}
if(a[i]=='v')
{
x[21]++;
}
if(a[i]=='w')
{
x[22]++;
}
if(a[i]=='x')
{
x[23]++;
}
if(a[i]=='y')
{
x[24]++;
}
if(a[i]=='z')
{
x[25]++;
}
}
int max=x[0],max1;
max1=0;
for(i1=0;i1<26;i1++)
{
//printf("%d\n",x[i]);
if(max>=x[i1])
{
}
else
{
max=x[i1];
max1=i1;
}
}
printf("%c\n",a1[max1]);
}
return 0;
}