zoukankan      html  css  js  c++  java
  • 入门oj 5499: 讲话模式

    Description

    每个人说话都有口头禅,现给出一个字符串,请求出其中出现次数最多的单词(不区分大小写)。

    Input

    输入一行,长度小于等于1048576的字符串
    输入至少包含一个字母或数字

    Output

    输出一行,为出现次数最多的单词及出现的次数,用空格分开
    如果结果不唯一,则输出字典序最小的那个,这个单词必须以小写的形式输出。

    Sample Input

    Can a can can a can? It can !

    Sample Output

    can 5

    HINT

    1简单的一个map题

    2这个题的读入比较恶心,需要转大小写,还要判空格和标点,具体方法如代码

    #include<bits/stdc++.h>
    using namespace std;
    int f[1000001],ans;
    char s[1048579];
    map<string,int> a;
    map<string,int>::iterator flag;//迭代器 
    int main(){
        gets(s);
        int len=strlen(s);
        string q="";
        for(int i=0;i<len;i++){
            
            if(s[i]==' ') {
                a[q]++;                
                q="";
                continue;
            }//判空格,如果是空格那么就表示一个单词结束了,可以把这个单词打入map 
            if(s[i]>='A'&&s[i]<='Z') s[i]+=32;//大写转小写 
            if(s[i]>='a'&&s[i]<='z') q+=s[i]//如果这个字符是一个字母,就把他放入q串 ;
        }
        for(map<string,int>::iterator i=a.begin();i!=a.end();i++)    //迭代器 
            if(ans<(*i).second)
                flag=i,ans=(*flag).second;        //算出最大值    
        cout<<(*flag).first<<" "<<(*flag).second;
    } 
    you are both faker
  • 相关阅读:
    C#之获取本地IP地址
    C#中对Excel进行操作
    C#中的TCP通讯与UDP通讯
    Flex 学习
    正则表达式实例
    sass调试--页面看到sass文件而不是css文件问题
    webpack+vue-loader 在单独.vue组件中使用sass-loader编译sass报错问题not a valid Win32 applictation
    SVG图案填充-Pattern
    jQuery小技巧
    代码整洁一
  • 原文地址:https://www.cnblogs.com/cwjr/p/12942397.html
Copyright © 2011-2022 走看看