zoukankan      html  css  js  c++  java
  • 字母统计 思想值得学习

          

    题目描述
    现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
    
    输入
    第一行输入一个正整数T(0<T<25)
    随后T行输入一个字符串s,s长度小于1010。
    
    输出
    每组数据输出占一行,输出出现次数最多的字符;
    
    样例输入
    3
    abcd
    bbaa
    jsdhfjkshdfjksahdfjkhsajkf
    样例输出
    a
    a
    j
    提示

       这一种 将    字母转换成  数字  并且 作为数组下表的情况  十分的好   省时省力   

    #include <stdio.h>
    #include<algorithm>
    #include <string.h>
    using namespace std;
    bool cmp(int a,int b)
    {
        return a>b;
    }
    int main()
    {
        int l,i,j,m,n,t,a[30],q;
        char b[1020];
        scanf("%d",&t);
        while(t--)
        {
            memset(a,0,sizeof(a));    //全部初始化 0
            scanf("%s",b);
            l=strlen(b);
            for(i=0;i<l;i++)
            {
                a[b[i]-97]++;
            }
            sort(a,a+30,cmp);   //这时候  a[0]就是出现最多的次数.
            q=a[0];
            memset(a,0,sizeof(a));
            for(i=0;i<l;i++)
            {
                a[b[i]-97]++;
            }
            for(i=0;i<l;i++)
            {
                if(a[i]==q)
                {
                    q=i;
                    break;
                }
            }
            printf("%c
    ",97+i);
        }
    }
  • 相关阅读:
    conn
    快速指数算法+Python代码
    扩展欧几里得算法+Python代码
    最速下降法+Matlab代码
    第二类生日攻击算法
    遗传算法+Python代码
    模糊聚类+Matlab代码
    数据库检索
    Spring Data Jpa依赖和配置
    上传Typora到博客园(解决图片缩放问题)
  • 原文地址:https://www.cnblogs.com/A-FM/p/5157870.html
Copyright © 2011-2022 走看看