nyoj-241-字母统计

来源:互联网 发布:linux 误删用户恢复 编辑:程序博客网 时间:2024/05/01 21:35

字母统计

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
输入
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
每组数据输出占一行,输出出现次数最多的字符;
样例输入
3abcdbbaajsdhfjkshdfjksahdfjkhsajkf
样例输出
aaj
来源
[路过这]原创
上传者

路过这


比较水的一题


#include <stdio.h>#include "string.h"#include <iostream>using namespace std;int main(int argc, char const *argv[]){    int n,i,len;    char a[1011];    cin>>n;    getchar();    while(n--)    {        char b[1011]={0};        int fla=0,max=0;        cin>>a;        len=strlen(a);        for(i=0; i<len; i++)        {            b[a[i]-'a']++;//嗯        }        max=b[0];        for(i=0; i<26; i++)        {            if(b[i]>max)//||(b[i]==max&&a[i]-'a'<a[fla]-'a')            {                max=b[i];                fla=i;            }        }        cout<<(char)(fla+'a')<<endl;    }    return 0;}
#include<stdio.h>//最优代码#include<string.h>main(){int x,i,max,q;char a[1011];scanf("%d",&x);getchar();while(x--){int s[26]={0};gets(a);for(i=strlen(a)-1;i>=0;i--)s[a[i]-97]++;max=0;for(i=0;i<26;i++)if(max<s[i]) max=s[i],q=i;printf("%c\n",q+97);}} 


0 0
原创粉丝点击